问题描述
|
我正在尝试将数据视图(浏览器窗口)与树(目录树)同步。
当我单击数据视图上的元素时,我希望在树上选择同一节点
问题是使用
tree.getSelectionModel().select(index)
不允许我通过其内部ID(我在树存储中提供的ID)来选择节点,而只能通过记录索引来选择节点...
所以我只是无法同步两个视图...
将有expandpath()的解决方案,但是我的树存储是由关系数据库(id,name,parent_id等)提供的,因此,查找完整路径对于服务器来说(可能是)很重(我\希望避免提供任何路径...)。
基本上,我想说\“扩展\” id = \“(或树存储的任何其他键/值)所在的节点。
可能吗 ?有什么解决方法吗?
感谢您阅读我!
解决方法
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
, 您也可以为此使用selecteditemtree.data.id
。