ext combox treeview
通过combox去选择显示哪科树,默认加载时显示树1,但选择树2时,后台有Json数据返回,但reload树不显示,只能选择树1时显示树1,不知怎么回事?
var urlUser;
var userTreeType = [['tree1', '树1], ['tree2', '树2]];
var userStore = new Ext.data.SimpleStore({
fields:['value','text'],
data:userTreeType
} )
urlUser = 'tree1.do';
// 创建tree的面板即TreePanel
var user_tree= new Ext.tree.TreePanel(
{
id: 'user-tree',// 设置一个id
autoScroll: true,// 自动出现滚动条
enableDD: false,// 是否支持拖拽效果
containerScroll: true,// 是否支持滚动条
rootVisible: false,// 是否显示跟节点
tbar: [ {
xtype: 'combo',
id: 'userTreeModel',
mode: 'local',
width: 200,
height: 20,
editable: false,
store: userStore,
value: titleUser,
triggerAction: 'all',
valueField:'value',
displayField:'text',
value:'tree1',
listeners : {
'select' : function(comboBox) {
var typeUser = comboBox.getValue();
if(typeUser != null && typeUser=="tree1")
{
urlUser = 'tree1.do';
}
else if(typeUser != null && typeUser=="tree1")
{
urlUser = 'tree2.do';
}
var loader = user_tree.getLoader();
loader.dataUrl = urlUser;
user_root.reload();
user_tree.body.mask('数据加载中……', 'x-mask-loading');//给tree的body加上蒙版
user_tree.root.expand(true,false,function(){
user_tree.body.unmask();//全部展开之后让蒙版消失
})
}
}
}],
loader: new Ext.tree.TreeLoader(
{
dataUrl: urlUser
}),
listeners : {
'beforerender'unction(){
//var tree = Ext.getCmp('user-tree');
//var tree_url = urlAction;
//alert("urlAction is " + tree_url);
//tree.loader.dataUrl = tree_url;
// alert("===="+tree.loader.dataUrl);
}
},
tools: [
{
id: 'refresh',// 根据id的不同会出现不同的按钮
handler: function(){
var treeTemp= Ext.getCmp('user-tree');
treeTemp.root.reload();// 让根节点重新加载
treeTemp.body.mask('数据加载中……', 'x-mask-loading');// 给tree的body加上蒙版
treeTemp.root.expand(true, false, function(){
tree.body.unmask();// 全部展开之后让蒙版消失
});
}
}]
});
// 创建根节点
var user_root= new Ext.tree.AsyncTreeNode(
{
text: '用户',
draggable: false,// 是否可以拖拽
id: 'user-tree-Root'
});
// 设置树的根节点
user_tree.setRootNode(user_root);
user_root.expand(true, false, function(){
if(typeof(user_tree.getRootNode().childNodes[0]) != "undefined"){
(user_tree.getRootNode().childNodes[0]).select();
}
});
// 给tree的节点添加点击事件
user_tree.on('click', this.treeClick, this);
// tree点击事件实现,在这个事件中会有一个参数,为点击当前节点
function treeClick(node){
var nodeId= node.id;
alert("nodeId is " + nodeId);
}
来源:一起Ext
原文地址:http://www.17ext.com/showtopic-5818.aspx

浙公网安备 33010602011771号