【发布时间】:2015-07-02 16:20:17
【问题描述】:
如何将树形过滤器应用于树形面板?
我知道这似乎是一个简单的问题,但我是 extjs 的新手,处理一些复杂的代码(从我的角度来看)。我不知道如何将树过滤器应用于树面板。我在树形过滤器here 上找到了文档,但我不知道如何在树形面板上使用它。
这是我的树面板的代码:
{
xtype: 'treepanel',
loader: new Ext.tree.TreeLoader(),
itemId:'TreePanelThisUserCanSee',
rootVisible: false,
border: true,
autoScroll: true,
hideCollapseTool: true,
animate: false,
getSelectedArray: function () {
var selNodes = this.getChecked();
var msg = '';
var assignArray = new Array();
Ext.each(selNodes, function(node) {
if(!node.disabled) {
if(msg.length > 0){
msg += ', ';
}
msg += node.id;
assignArray[assignArray.length] = node.id;
}
});
return assignArray;
},
root: new Ext.tree.AsyncTreeNode({
text: 'Locations',
draggable: false,
id: 'root*node',
leaf: false,
expanded: true,
expandable: false,
children: [] // must have this to programatically add
}),
listeners: {
'checkchange': function(node, checked) {
if(checked) {
if( node.hasChildNodes() ) {
node.expand(false, false);
node.eachChild(function () {
this.ui.toggleCheck(true);
if(this.hasChildNodes()) {
this.eachChild(function () {
this.ui.toggleCheck(true);
});
}
});
}
} else {
node.eachChild(function () {
this.ui.toggleCheck(false);
if(this.hasChildNodes()) {
this.eachChild(function () {
this.ui.toggleCheck(false);
});
}
});
}
}
}
}
【问题讨论】:
标签: javascript extjs tree extjs3