Ext TreePanel 左边是树右边是表格,想在表格更新后,刷新左边的树,只打开到指定结点(被修改的结点),能否实现?

tree.root.reload();//让根节点重新加载
tree.getNodeById('2').expandChildNodes(true);//2 是被刷新的结点编号
可是这样编号是2的结点没有被打开,为什么呢?

不知道这算不算是EXT树节点的BUG

reLoad()之后(树节点数据加载完后),如果你不完全的展开expand(),这颗树提供的寻找子API是不能找到子节点的。

无论你后台是同步还是异步,都必须先展开节点。否则即使store里有数据,treePanel也会认为没有子。

当然可以实现,官方的doc就是这样的.

你看源码去吧,在下载包里面

[quote]tree.root.reload();//让根节点重新加载
tree.getNodeById('2').expandChildNodes(true);//2 是被刷新的结点编号 [/quote]

第2句要延迟,reload是异步的,这时候还没load完.

[code="java"]tree.getNodeById('2').expandChildNodes(true);//2 是被刷新的结点编号

前提是你必须让这个节点能获取到,否则他根本不会展开的。当重新reload之后,你这个节点看看能拿到吗?
先tree.getNodeById('2') alert一下。确认是否能获得该节点,然后在expand
一步一步来[/code]