现在有段程序 需要根据 查询内容动态地展示 树形结构。
原先默认的结构展示效果是 root为根,child1、child2为儿子节点,之后还有child11、child12等孙子节点,现在输入查询条件 child1,要求能够将child1作为根节点,进行树形展示,我在查询代码中 写下:
function querytree(){
tree.setRootNode(temprt);//temprt是 需要设置的 新的树形结构的 根节点
alert(tree.getRootNode().id);//这个地方显示 树的根节点已经 设置为temprt
tree.getRootNode().reload();//此处报错,显示的是 R is undefined ,C is undefined
}
不知道为什么?是不是树形结构的配置错误?我这个是一个异步加载的树,小弟刚刚学习ext不久,困惑了几天,希望能够得到大家的帮助。
树形 结构如下所示:
var tree = new Ext.tree.TreePanel({
collapsible :true,
id : 'tree-mianban',
title : '树',
region : 'west',
animate : true,
enableDD : true,
containerScroll : false,
loader : new Ext.tree.TreeLoader({
dataUrl : getSitePath() +"/RowAction_findPeopleListTree.action"
}),
lines : true,
containerScroll : false,
border : true
});
// 根节点
var root = new Ext.tree.AsyncTreeNode({
text : '木叶',
draggable : false,
id : 'root'
});
tree.setRootNode(root);
tree.render("treepanel");//此处先 设置 树形结构的根节点为root
//临时根节点
var temprt = new Ext.tree.AsyncTreeNode({
text:"child1",
id:"child1"
});
//查询,实现 进行根节点动态设置的方法
function querytree(){
tree.setRootNode(temprt);//temprt是 需要设置的 新的树形结构的 根节点
alert(tree.getRootNode().id);//这个地方显示 树的根节点已经 设置为temprt
tree.getRootNode().reload();//此处报错,显示的是 R is undefined ,C is undefined
}
[b]问题补充:[/b]
to atian25 :
你好,我在 环境中调试了你的程序,两个listner都试过了,为什么会出现 reload()方法没有的错误呢?请帮我查看下,谢谢了 代码如下:
var root = new Ext.tree.AsyncTreeNode({
text : '木叶',
draggable : false,
id : 'root'
});
var tree = new Ext.tree.TreePanel({
useArrows: true,
autoScroll: true,
animate: true,
enableDD: true,
containerScroll: true,
border: false,
// auto create TreeLoader
loader:new Ext.tree.TreeLoader({dataUrl:getSitePath() +"/RowAction_findPeopleListTree.action"}),
renderTo:"treepanel"
,root:root
// ,root:
// {
// nodeType: 'async',
// text: 'Ext JS',
// draggable: false,
// id: 'root'
// }
,listeners:{
'click':function(node,e){
if(node!=tree.getRootNode()){
tree.setRootNode({
nodeType: 'async',
text: node.text,
draggable: false,
id: node.id
});
var c =tree.getRootNode();
// alert(c.id);
c.reload();
}
}
}
// ,listeners:{
// 'click':function(node,e){
// if(node!=tree.getRootNode()){
// var newNodeCfg = {
// nodeType: 'async'
// };
// Ext.applyIf(newNodeCfg,node.attributes);
// tree.setRootNode(newNodeCfg);
// var c = tree.getRootNode();
// newNodeCfg.reload();
//// tree.getRootNode().reload();
// }
// }
// }
});
});