tree: 树     node:节点

1、全部展开   tree.expandAll();

2、全部收缩   tree.collapseAll();

3、得到父节点  node.parentNode

4、判断是否有父节点  node.parentNode==null

5、判断是否有子节点  node.hasChildNodes()

6、获取下一级的所有子节点  node.eachChild(function(child){})

7、获取选择的节点  tree.getSelectionModel().getSelectedNode()

8、设置选中节点  node.select()

9、上移节点  node.selectPrevious();

10、下移节点  node.selectNext();

11、获取节点ID   node.id  注:如果这种方式拿出来的ID带有Store 的ID 则试试 node.internalId

12、获取节点值  node.text

13、获取节点提示  node.attributes.qtip

14、node.attributes.mid//这里的mid是我数据库中一个字段,我在查询的时候一并传入到客户端,这时我就             可以使用node.attributes.mid,这样一来我们就可以隐藏一些我们使用但又不必               让客户知道的相关属性了。。。

带选择框    注:只需在服务器返回的json数据每一个节点加上checked:true或者false属性 就会出现带选择框       的树

15、获取选中的节点

  var nodes=tree.getChecked();

  Ext.each(nodes,function(node){})

16、获取是否选择  node.getUI().checkbox.checked;

17、设置节点选择  node.ui.toggleCheck(trye);//显示选中  node.attributes.checked=true//赋值

18、设置一个新的节点

  var newNode=new Ext.tree.TreeNode({id:'id',text:'text',iconCls:'url',qtip:'tip'})

19、插入新的节点  node.appendChild(newNode);

20、删除节点  node.remove();

21、这里所说的选中时指鼠标点击一个节点背景变色的选中,而非checkBox的勾选,若要获得checkBox的选中  使用tree.getChecked();

  Ext.tree.TreePanel.getSelectionModel().getSelectedNode();

  Ext.tree.TreePanel.getSelectionModel()获得的是一个TreeSelectionModel对象,

  Ext.tree.MultiSelectionModel目前在Ext中有两个                          Ext.tree.DefaultSelectionModel.getSelectedNode()返回的是单个节点对象

22、选中节点和父节点

  1)、父节点选择

  function parentclick(node)

  {

    var parent=node.parentNode;//获取父节点

    var flag=node.getUI().checkbox.checked;//判断是否选中

    if(parent!=null)//父节点不为空

    {

      parent.ui.toggleCheck(flag);//选中

      parent.attributes.checked=flag;//给值

      parentclick(parent);//递归选中节点

    }

  }

  2)、选择子节点

  function treeclick(node){

    var flag=node.getUI().checkbox.checked;//获取选中状态

    if(node.hasChildNodes()){    //是否有子节点

      node.eachChild(function(child)){    //循环下一级的所有子节点

        child.ui.toggleCheck(flag);  //选中

        child.attributes.checked=flag;  //赋值

        treeclick(child);  //递归选中子节点

      }

    }

  }

  3)、2个函数合并执行

  function check(node)

  {

    tree.suspendEvents();//暂停所有监听事件的执行

    treeclick(node);

    parentclick(node);

    tree.resumeEvents();//重新开始所有监听事件的执行

  }

Extjs 树节点操作常用属性的更多相关文章

  1. JavaScript 节点操作Dom属性和方法(转)

    JavaScript 节点操作Dom属性和方法   一些常用的dom属性和方法,列出来作为手册用. 属性:   1.Attributes 存储节点的属性列表(只读)   2.childNodes 存储 ...

  2. ext 树节点操作

    ext 树节点操作 tree :树    node:节点 1.全部展开 tree.expandAll(); 2.全部收缩 tree.collapseAll(); 3.得到父节点 node.parent ...

  3. ext TreePanel树节点操作

    1.全部展开 tree.expandAll();2.全部收缩 tree.collapseAll();3.得到父节点 node.parentNode4.判断是否有父节点 node.parentNode= ...

  4. Html DOM 常用属性和方法

    Node对象的节点类型***************************************************接口 nodeType常量 nodeType值 备注Element Node ...

  5. JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删改查),事件

    JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删 ...

  6. Extjs 4.2 右键菜单树节点(,选择逆,废除)

    写自己的最新版本号extjs4.2树节点的操作,记录它,可能在将来被用于. var tree = new Ext.tree.TreePanel({ flex: 1, animate: true, au ...

  7. JS学习之DOM节点的关系属性封装、克隆节点、Dom中Style常用的一些属性等小结

    JS DOM节点: 在JS DOM中节点的关系被定义为节点的属性: 通常有以下几种节点之间的关系: (这里的关系是所有浏览器都支持的) parentNode    父节点 childNodes     ...

  8. (转载)StringGrid常用属性和常用操作

    Delphi StringGrid常用属性和常用操作 StringGrid组件用于建立显示字符串的网格,与电子表格相似.它可使表格中的字符串和相关对象操作简单化.StringGrid组件提供了许多可控 ...

  9. (转载)Delphi StringGrid常用属性和常用操作

    Delphi StringGrid常用属性和常用操作 StringGrid组件用于建立显示字符串的网格,与电子表格相似.它可使表格中的字符串和相关对象操作简单化.StringGrid组件提供了许多可控 ...

随机推荐

  1. redis cluster中添加删除重分配节点例子

    redis cluster配置好,并运行一段时间后,我们想添加节点,或者删除节点,该怎么办呢. 一,redis cluster命令行     //集群(cluster)  CLUSTER INFO 打 ...

  2. AppDelegate 里一个基本的跳转方法,用来在rootView崩溃的时候直接调试我自己的页面

    将 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)lau ...

  3. ecshop 分页小记

    ecshop 分页是ajax请求的,必须在主文件里有个 act = query 处理,分页会请求这个act <?php //获取列表 if($_REQUEST['act']=='list'){ ...

  4. Thrift框架简介

    功能:实现各个服务模块之间的跨语言.跨平台的通信,是RPC框架的一种,与dubbo类似. Thrift的应用原理: Thrift的部分功能相当于代码生成引擎,使用Thrift定义的语言编写*.Thri ...

  5. The Skyline Problem leetcode 详解

    class Solution { public: vector<pair<int, int>> getSkyline(vector<vector<int>&g ...

  6. ubuntu tips

    1.ibus-setup 2.tips:

  7. 转:apache 的mod-status

    最近发现在apache的监控方面,apache 2开始自带的apache mod-status其实是个不错的工具,下面摘录并笔记之: 如果是linux的话,可以这样设置: 在httpd.conf中添加 ...

  8. Android Studio 初始新建项目时 build gradle project 超级慢的原因

    今天项目崩溃重新新建,结果发现又奇慢无比,第一次用android studio的时候也遇到这个问题,这次也是等了近 半个小时才搞定,通过查看网络数据信息发现是 android studio 正在从美国 ...

  9. NDK常见错误

    1.错误1: android mk文件没有定义 $ ndk-buildAndroid NDK: Your APP_BUILD_SCRIPT points to an unknown file: /cy ...

  10. 《Mastering Opencv ...读书笔记系列》车牌识别(II)

    http://blog.csdn.net/jinshengtao/article/details/17954427   <Mastering Opencv ...读书笔记系列>车牌识别(I ...