关于EXT生成TREE,如何动态生成父子节点?
使用JAVA后台,如图这是界面原型,版本号这个节点是写死的;版本号下的V1.0,V2.0是查询数据库得出的,点开V1.0显示的后勤单元、人力单元、软件单元是根据所选的节点...
使用JAVA后台,如图这是界面原型,版本号这个节点是写死的;版本号下的V1.0,V2.0是查询数据库得出的,点开V1.0显示的后勤单元、人力单元、软件单元是根据所选的节点V1.0的信息查询数据库得出的,现在想知道我如何根据store中的信息来生成这棵树。急求~~~~~
展开
1个回答
2013-09-10
展开全部
我把我的发给你。
var tree = new Ext.tree.TreePanel({
title:'TOPO树',
rootVisible:false,
width:200,
root: new Ext.tree.AsyncTreeNode({
text: '组',
draggable: false,
expanded: true,
iconCls: 'icon-root',
enableDrag:false,
leaf:false,
type:'dm', //默认传了一个type=dm到后台,取dm的数据。也就是URL的netype的值
id: 'rootid'
}),
loader: new Ext.tree.TreeLoader({
dataUrl : path+'gettree.action?netype=cpe',
baseParams:{
type:'dm'
},
listeners:{
beforeload:function(treeLoader, node){
this.baseParams.type = node.attributes.type; //通过这里,修改请求数据的URL的参数,可以让后台取json数据过滤你要的数据
}
}
})
});
对于给单个节点加链接,你是要从后台读信息吧?
那你在后台json数据加一个jsondata.push("clickurl","要location的URL");
前台
tree.on("click", function(node, e){
document.location.href=node.attributes.clickurl;//从node里取后台传进的url就可以了。
})
var tree = new Ext.tree.TreePanel({
title:'TOPO树',
rootVisible:false,
width:200,
root: new Ext.tree.AsyncTreeNode({
text: '组',
draggable: false,
expanded: true,
iconCls: 'icon-root',
enableDrag:false,
leaf:false,
type:'dm', //默认传了一个type=dm到后台,取dm的数据。也就是URL的netype的值
id: 'rootid'
}),
loader: new Ext.tree.TreeLoader({
dataUrl : path+'gettree.action?netype=cpe',
baseParams:{
type:'dm'
},
listeners:{
beforeload:function(treeLoader, node){
this.baseParams.type = node.attributes.type; //通过这里,修改请求数据的URL的参数,可以让后台取json数据过滤你要的数据
}
}
})
});
对于给单个节点加链接,你是要从后台读信息吧?
那你在后台json数据加一个jsondata.push("clickurl","要location的URL");
前台
tree.on("click", function(node, e){
document.location.href=node.attributes.clickurl;//从node里取后台传进的url就可以了。
})
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询