首頁 >web前端 >js教程 >extjs關於treePanel chekBox全部選取以及清空選取問題探討_extjs

extjs關於treePanel chekBox全部選取以及清空選取問題探討_extjs

WBOY
WBOY原創
2016-05-16 17:38:231185瀏覽
複製程式碼 程式碼如下:

//樹
var treePanel = new Ext. ({
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 //設定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;
treeTrue(child);
});
}
/**
*checkTree清空
*/
var treeCheckfalse = function(tree)
{
var nodes = tree.getChecked(); if(nodes && nodes.length){
for(var i=0;i//設定UI狀態為未選取狀態
nodes[i].getUI( ).toggleCheck(false);
//設置節點屬性為未選中狀態
nodes[i].attributes.checked=false;
}
}
}

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn