【问题标题】:Kendo Knockout: loading treeView with kendo.data.dataSourceKendo Knockout:使用 kendo.data.dataSource 加载 treeView
【发布时间】:2013-01-02 00:25:28
【问题描述】:

目前 kendo-knockout 库不支持将 kendo.data.dataSource 传递到绑定中。我可以在此处更新我的帖子时使用小部件参考示例加载带有 kendo 数据源的 treeView:Kendo-Knockout: use knockout view model with kendo datasource to populate kendoTreeView。但是无法向其中添加和删除项目以及其他一些问题。 我是根据 RP Niemeyer 在 github 上的评论写这个问题的:

https://github.com/rniemeyer/knockout-kendo/issues/6

说如果我通过data: false, dataSource: yourDataSource 和这个小提琴之类的东西,这应该是可能的:

http://jsfiddle.net/rniemeyer/s5G5k/

按照这个示例,我尝试实现 treeView:

http://jsfiddle.net/s5G5k/6/

但我收到一个错误:Cannot call method 'toLowerCase' of undefined

所以我的问题是这可以工作吗,然后我可以向数据源添加/删除对象并相应地查看视图更新吗?谢谢!

【问题讨论】:

  • 看起来我需要重新访问能够直接传递数据源。抱歉,没有机会深入研究您尚未解决的这个或其他树视图问题。
  • 我明白了。您是否计划在短期内实现此功能?我现在正在考虑每次添加或删除节点时在 dom 中重新创建树视图。或者有什么我可以使用的解决方法吗?稍后在您的实现准备好时重构这部分。谢谢。
  • 重新创建它可能是目前最好的选择。您可以将其包装在 with 中,并在您希望它反弹时更新 with 的值。
  • 我不确定我是否正确理解了“with”绑定场景。我做了这个:jsfiddle.net/6SEzp/108,但它仍然没有更新视图。如果可能的话,你能用你的想法更新小提琴吗?
  • 也许更像这样:jsfiddle.net/rniemeyer/6VZxB

标签: knockout.js kendo-ui


【解决方案1】:

我真的需要重新考虑添加将数据源直接传递到小部件的功能。

目前的一种解决方案是将树视图包装在“with”绑定中,并在添加/删除项目时重新呈现它。

也许像:

<div data-bind="with: treeView">
    <div id="reportGrid" data-bind="kendoTreeView: { dataSource: treeViewDataSource }"></div>
</div>

http://jsfiddle.net/rniemeyer/6VZxB/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-03
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 2017-05-09
    相关资源
    最近更新 更多