kendo-ui - 读取 kendoUI Treeview 数据源并保持树状态

标签 kendo-ui kendo-treeview

我有一个绑定(bind)到远程分层数据源的 Kendo Treeview 。问题是当我尝试通过执行 $('#treeview').getKendoTreeView.dataSource.read() 来获取更新的值时,当数据成功更新时,任何扩展的节点都会被设置回它们的初始状态。

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

最佳答案

没有办法做到这一点。我已经看到通过让模型存储节点是否扩展,然后在离开页面之前重置所有值来完成此操作。

这是有道理的,就好像您重新加载节点位置可能已更改的数据源一样, Treeview 尝试将新数据源与旧数据源匹配是不合理的。

不过我还是祝你好运。

就个人而言,我只是在本地编辑 Treeview 的数据源,所以我不必处理这个问题。它涉及大量修改 Treeview ,但它有效。

对于 future 的读者,如果您调用 append、insert before 和 insert after,这也会影响 treeview 数据源。在 Treeview 节点上调用 remove 不会。为了进行删除,您必须在 Treeview 数据源上进行,这也将更新 Treeview 。他们这样做很奇怪,我认为这是因为他们希望您能够从 Treeview 中删除一个节点,然后取消您的删除或其他什么?

无论如何,通过这 4 种方法,您几乎可以在本地使用 Treeview 执行任何您想做的事情,而无需重新绘制或重新加载数据源。

关于kendo-ui - 读取 kendoUI Treeview 数据源并保持树状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26222943/

相关文章:

javascript - Kendo-ui、调度程序、时间线月 View 、workDayStart 和 workDayEnd 错误

asp.net-mvc - 在剑道网格列中显示自定义值

angularjs - Kendo Treeview : How to set Intermediate state Programmatically

kendo-ui - Kendo UI treeview 查找选中节点的下一个节点和上一个节点

javascript - Kendo Treeview : Can you edit a single dataitem without full tree update?

kendo-ui - 如何用进度条替换 Kendo UI 网格加载图像

kendo-ui - KendoUI 网格 - 请求后修改数据

kendo-ui - 网格导出表数据在 IE 10 和 mozilla 中不起作用

datasource - Treeview 的 Kendo 分层数据源,过滤到选中的节点

kendo-ui - Kendo Treeview 和树下拉列表 - 当前选择和同步更改