首页 技术 正文
技术 2022年11月20日
0 收藏 975 点赞 2,985 浏览 2115 个字

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();//重新开始所有监听事件的执行

  }

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,983
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,500
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,344
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,127
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,761
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,838