读取kendoUI treeview数据源并保持树状态

时间:2014-10-06 18:58:33

标签: kendo-ui kendo-treeview

我有一个绑定到远程分层数据源的Kendo树视图。问题是,当我尝试通过执行$('#treeview').getKendoTreeView.dataSource.read()获取更新的值时,在数据成功更新的同时,任何扩展的节点都会恢复到初始状态。

有没有办法告诉树保持其状态?现在我解析所有节点状态,并在绑定后以编程方式重新应用它们,如果它们仍然存在的话。似乎应该有更好的方法来做到这一点。 (即以此方式建造)

1 个答案:

答案 0 :(得分:1)

没有办法做到这一点。我已经看到这样做是通过让你的模型存储节点是否展开,然后在离开页面之前重置所有值。

这是有道理的,就好像你重新加载节点位置可能已经改变的数据源一样,因为树视图试图将新数据源与旧数据源匹配是不合理的。

我祝你好运。

就个人而言,我只是在本地编辑树视图的数据源,所以我不必处理这个问题。它涉及很多黑客攻击树视图,但它确实有效。

对于未来的读者,如果调用append,insert before和insert after,这也会影响treeview数据源。在树视图节点上调用remove不会。要进行删除,您必须在treeview数据源上执行此操作,该数据源也将更新树视图。奇怪的是他们这样做了,我想这是因为他们希望你能够从树视图中删除一个节点,然后取消你的删除或什么?

无论如何,使用这4种方法,您可以在本地使用树视图执行任何操作,而无需重新绘制或重新加载数据源。

相关问题