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. 基于AFN的多张图片上传

    不废话,直接上代码 NSString *urlString = [NSString stringWithFormat:@"http://192.168.1.166:8080/Discipli ...

  2. robotium如何定位控件?

    search类获取当前所有的view,然后根据类型或者文本去筛选,找到view后获取坐标,然后点击坐标.本质都是通过坐标点击.solo.clickonScreen方法,底层调用MotionEvent类 ...

  3. 介绍shell脚本

    简单的说shell就是一个包含若干行Shell或者Linux命令的文件.对于一次编写,多次使用的大量命令,就可以使用单独的文件保存下来, 以便日后使用.通常shell脚本以.sh为后缀.在编写shel ...

  4. vsftp 虚拟用户

    首先安装vsftp db-4wiki mkdir -p /opt/ftp 创建用户 sudo useradd virtual -d /opt/ftp -s /bin/false sudo chown ...

  5. Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试【转】

    环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到下面的代码 LoadModule rewrite_module modules/mod_ ...

  6. JAVA多态问题总结(课堂总结)

    面向对象的三大特性:封装.继承.多态.从一定角度来看,封装和继承几乎都是为多态而准备的.这是我们最后一个概念,也是最重要的知识点.多态的定义:指允许不同类的对象对同一消息做出响应.即同一消息可以根据发 ...

  7. 闭包&装饰器详解

    闭包 先不着急看闭包的定义,让我们从一段示例代码开始.如果将上一个示例稍微修改下: >>> def outer(): ... x = 1 ... def inner(): ... p ...

  8. scala正则表达式

       正则表达式     Scala 通过 scala.util.matching 包种的 Regex 类来支持正则表达式 scala.util.matching.Regex.构造一个Regex对象, ...

  9. SQL 范式(转载)

    装载于"http://www.cnblogs.com/KissKnife/ 理论性的东西,往往容易把人人都看得懂的东西写成连鬼都看不懂,近似于主任医生开的药方.从前学范式的时候,把书中得概念 ...

  10. 【ORACLE】“System.Exception: System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本。”解决办法

    我的电脑是win10.64位.问题如题,在网上找了很多办法都没搞好,如下: 1.给oracle目录设置“Authenticated Users”用户的“读取/写入”权限 2.IIS网站物理路径凭据添加 ...