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. ListBox 如何改变某行的字体颜色

    Option Explicit Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Pri ...

  2. Registry Workshop(注册表编辑器) V4.6.3 官方中文版

    软件名称: Registry Workshop(注册表编辑器)软件语言: 简体中文授权方式: 免费试用运行环境: Win7 / Vista / Win2003 / WinXP 软件大小: 1.1MB图 ...

  3. U盘安装VMware ESXi 6.0

    准备工作 在vmware官网注册,并获取ESXi 6.0 ISO Image: 下载UNetbootin: 容量1GB或以上的U盘,将其格式化. U盘制作 打开UNetbootin,如下图设置,文件路 ...

  4. electron的艰难安装之旅

    最近对前端开发很感兴趣,抽空研究了下前段的开发工具,发现比较流行的是sublime,atom,vscode等, 由于一直以来从事.net开发所以对vscode很感兴趣,在vscode的安装配置过程偶然 ...

  5. SQL MySQL

    SQL 结构化查询语言(英语:Structural Query Language,缩写:SQL),是一种特殊目的之编程语言,用于数据库中的标准数据查询语言. 各种通行的数据库系统在其实践过程中都对SQ ...

  6. JavaScript——Cookie

    JavaScript中的Cookie基础 页面用来保存信息的,比如登录.记住用户名. [cookie的特性] (1)同一个网站中所有页面共享一套cookie: (2)数量.大小有限: (3)有保质期, ...

  7. 《JavaScript高级程序设计》读书笔记 ---创建对象

    虽然Object 构造函数或对象字面量都可以用来创建单个对象,但这些方式有个明显的缺点:使用同一个接口创建很多对象,会产生大量的重复代码.为解决这个问题,人们开始使用工厂模式的一种变体. 工厂模式工厂 ...

  8. English Vocabulary

    Creative - producing or using original and unusual ideas Computer literate - familiarity with comput ...

  9. iOS开发播放文本

    iOS7以后AVSpeechSynthesizer苹果开放了这个类   它可以将文本转化成声音并播放: 下面的是我的封装使用起来特别简单: // //  TTSSpeak.h //  SayLoveY ...

  10. JQuery:以name为条件查找

    例如:$(":input[name='keleyi']") 表示查找的是name为keleyi的表单. var a=$(t).prev(":input[name='dis ...