extjs 树刷新_Extjs 树节点操作常用属性

本文详细介绍了ExtJS中树形结构的操作,包括全展开、全收缩、获取父节点、判断节点状态、操作选中节点、添加删除节点等。还特别讨论了如何处理带选择框的节点,提供了获取选中节点、设置节点选择以及选中节点与父节点的方法。
摘要由CSDN通过智能技术生成

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

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值