extjs关于treePanel+chekBox全部选中以及清空选中问题探讨_Javascript教程-查字典教程网
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下://树vartreePanel=newExt.tree.TreePanel({id:'ptree',region:'wes...

复制代码 代码如下:

//树

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;

}

}

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类