ExtJs中tree根据查询条件重新load数据

来源:互联网 发布:陕西广电网络主要业务 编辑:程序博客网 时间:2024/05/22 06:41

首先我们可以先定义一个tree如下:

var tree = new Ext.tree.ColumnTree({
region:'center',
border : false,
lines : false,
id :'aphyciniTree',
width : '100%',
cls : 'columntree_header_bg',
bodyStyle : 'overflow-x:hidden; overflow-y:auto;',
animate : false,
rootVisible : false,
autoScroll : true,
onlyLeafCheckable : false,// 所有结点可选,如果不需要checkbox,该属性去掉
loadMask : true,
loader : new Ext.tree.TreeLoader({
dataUrl : 'StudentStatusJsp/listGraduationQualificationsMajors.action',
uiProviders : {
'col' : Ext.ux.ColumnTreeCheckNodeUI
},
baseParams : {  
                major : ''  
            },
listeners : {
load : function (){
expand(tree);
}
}
}),
columns : cm,
root : new Ext.tree.AsyncTreeNode({
text : 'rootnode'
})
});

第二我们通过查询来筛选数据

 var condition = Ext.getCmp('graMajor_id').getValue();  
                           var aphyciniTree = Ext.getCmp('aphyciniTree');  
                           var loader = aphyciniTree.getLoader();  
                           loader.on('beforeload', function(loader, node) {  
                               this.baseParams.major = condition; // 通过这个传递参数,这样就可以点一个节点出来它的子节点来实现异步加载  
                           }, loader);  
 
                           loader.load(aphyciniTree.root);  
                           Ext.getCmp('aphyciniTree').expandAll(); 

0 0
原创粉丝点击