您的位置:首页 > 其它

TreePanel中查询

2015-12-21 13:32 316 查看
详细用法如下(从
tbar
开始):

var hiddenNodes = [];   // 用来存储隐藏的tree节点
var plansTree = new Ext.tree.TreePanel({
xtype : "treepanel",
title : '计划树',
region : 'west',
border : true,
frame : true,
enableDD : false,
animate : true,
containerScroll : true,
// ########################
tbar:["关键字:",{
xtype:"textfield",
enableKeyEvents:true,
listeners:{
keyup:function(){
// 获取输入的关键字
var k = this.getValue();

// 每次输入新的关键字,将缓存的节点全部显示
Ext.each(hiddenNodes, function(n) {
n.getUI().show();
});

// 清除缓存
hiddenNodes = []

// 层叠展开搜索
plansTree.getRootNode().cascade(function(n) {
// 如果不是顶级父节点
if(n.id!='0'){

// 如果节点text并未包含关键字,将其缓存并隐藏
if(n.text.indexOf(k)==-1){
hiddenNodes.push(n);
n.getUI().hide();
}else{
// 否则向上冒泡,将其所在的父节点一一显示
n.bubble(function(n){
if(n.id!="0"){
n.getUI().show()
}
})
}
}
});
}
}
}],
// ########################
ddGroup : 'organizerDD',
rootVisible : true,
selModel : new Ext.tree.DefaultSelectionModel(),
border : false,
width : 'auto',
autoScroll : true,
split : true,
collapseMode : 'mini',
loader : new Ext.tree.TreeLoader({
// 自定义
}),
root : new Ext.tree.AsyncTreeNode({
text : 'root',
draggable : false,
expanded : true
})
})
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  treePanel 查询