TreePanel中查询


详细用法如下(从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
            })
        })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值