5

我正在尝试将数据视图(资源管理器窗口)与树(目录树)同步。当我单击数据视图上的元素时,我希望在树上选择相同的节点

问题是,使用 tree.getSelectionModel().select(index) 不允许我通过其内部 id(我在树库中提供的 id)选择节点,但只能通过记录索引...所以我无法同步两个视图...会有 expandPath() 的解决方案,但是我的树存储由关系数据库(id、name、parent_id 等)提供,因此查找完整路径是(或可能是)服务器的繁重负载(我'想避免必须提供任何路径...)。

基本上我想说“扩展”id=“(或树存储的任何其他键/值)所在的节点。

可能吗 ?有什么解决方法吗?

谢谢你读我!

4

2 回答 2

9

tree.getSelectionModel().select(record) 函数可以接受记录实例而不是索引。我会做这样的事情:

var record = tree.getRootNode().findChild('id_name','record_id',true);
tree.getSelectionModel().select(record);

有关 findChild 函数的更多信息,请在此处查看 NodeInterface 文档:http: //docs.sencha.com/ext-js/4-0/#/api/Ext.data.NodeInterface-method-findChild

于 2011-07-18T13:42:16.783 回答
0

你也可以用selecteditemtree.data.id这个。

于 2013-08-20T12:29:06.403 回答