extjs 关于 treePanel + chekBox 全部选中 以及 清空选中

来源:互联网 发布:淘宝使用感受 编辑:程序博客网 时间:2024/05/16 08:59
 
//树    var treePanel = new Ext.tree.TreePanel({id:'ptree',region:'west',layout:'anchor',border:false,rootVisible: false,root:{},listeners:{render: function() {authorityTree(treePanel); /*渲染树*/},checkchange: function(node, state) {if (node.parentNode != null) {//选中子节点让相应的父节点选中var pNode = node.parentNode;if (state || treePanel.getChecked(id, pNode) == "") {pNode.ui.toggleCheck(state);// 触发父节点被选中pNode.attributes.checked = state; } }treeId = node.attributes.id;treeName = node.attributes.text;}}});//操作按钮tbar: [{id: 'btnQingKong',text: '清空',iconCls: 'winupdate-icon',handler: function() {var nodes = Ext.getCmp('ptree').getChecked();if (nodes && nodes.length) {for (var i = 0; i < nodes.length; i++) {//设置UI状态为未选中状态nodes[i].getUI().toggleCheck(false);//设置节点属性为未选中状态nodes[i].attributes.checked = false;}}}},{id: 'btnQuanXuan',text: '全选',iconCls: 'winupdate-icon',handler: function() {var nodeT = Ext.getCmp('ptree').getRootNode();treeCheckTrue(nodeT);}}]/** *checkTree全选 */var treeCheckTrue = function(node){    node.eachChild(function (child) {        child.getUI().toggleCheck(true);        child.attributes.checked = true;        treeCheckTrue(child);    });   }/** *checkTree清空 */var treeCheckfalse = function(tree){var nodes = tree.getChecked(); if(nodes && nodes.length){ for(var i=0;i<nodes.length;i++){  //设置UI状态为未选中状态  nodes[i].getUI().toggleCheck(false);  //设置节点属性为未选中状态  nodes[i].attributes.checked=false; }} }


原创粉丝点击