Posted in Javascript onApril 02, 2013
//树 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; } } }
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@