请教一个extjs tree加载节点的问题

lfkcn 2010-11-13 01:51:58
var tree = new Ext.tree.TreePanel({
//el:'tree-div',
id:'caseTree',
title:'Below is the case tree:',
/useArrows:true,
region:'center',
autoScroll:true,
//animate:true,
//enableDD:true,
//containerScroll: true,
//columnHeight:3,
border:false,
dataUrl: 'get_nodes',
root: {
nodeType: 'async',
//root nodes text
text: 'Case Tree',
draggable:false,
id:'/'
}
});

这样定义了一个tree,加载节点没有问题,比如我点击一个节点,可以根据get_nodes来得到需要的节点,然后展开节点,
现在问题是这样的,我把已经展开的节点闭合之后再展开,get_nodes是不执行的,得到的还是原来展开的节点,我想问怎么样能让tree每次展开节点的时候都执行get_nodes???
...全文
152 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lfkcn 2010-11-15
  • 打赏
  • 举报
回复
这样一直在ff下提示too much recursion,搜了一下,很多搜索结果说是变量名用的不对,难道是reload这个不对?不理解啊
leehuat 2010-11-15
  • 打赏
  • 举报
回复

tree.on("beforeload",function(node){
tree.dataUrl='get_nodes';
node.reload();
});


lfkcn 2010-11-15
  • 打赏
  • 举报
回复
tree.loader.dataUrl='url'和直接定义tree.dataUrl是一样,我在tree中没有定义loader,所以直接用tree.dataUrl。这个没问题。

问题已经解决,不应该用beforeload,应该用beforeexpandnode, beforeload确实是递归了。
结贴
asdujiayong 2010-11-15
  • 打赏
  • 举报
回复
是tree.loader.dataUrl='url'吧
lfkcn 2010-11-14
  • 打赏
  • 举报
回复
tree.on("beforeload",function(node){
tree.dataUrl='get_nodes';
alert("aaaa")
});

我这样做了监听。确实是进入这个监听了,但是并没有重新执行get_nodes啊,还需要有什么别的设置吗?
lfkcn 2010-11-14
  • 打赏
  • 举报
回复
楼上兄弟能否给个例子看看
leehuat 2010-11-14
  • 打赏
  • 举报
回复

监听beforeload事件。

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧