【问题标题】:How do you query Kendo MVVM Treeview models如何查询 Kendo MVVM Treeview 模型
【发布时间】:2014-07-02 13:34:41
【问题描述】:

我正在使用 Teleriks Kendo-UI 和 MVC 为这样的树视图构建 MVVM 模型...

var viewModel = kendo.observable({
                isVisible: true,
                items: kendo.observableHierarchy(@Html.Raw(Json.Encode(Model.items))),
               ....

一切都很好,但是页面上有一些 signalR 客户端接受模型的“事件”,所以我添加了...

            addItem: function(parentId, item){
                // how do query the hierarchy?
            },
            deleteItem: function(itemId) {
                // again how do i query the hierarchy?
            },

... 到上述模型,以便在从我的 signalR 代码调用时接受这些事件通知。

我遇到的问题是我有一个层次结构,但不知道如何在该项目具有给定 ID 的上下文中获取数据项,然后将给定项目添加到其子项。

我假设这是正确的方法吗?

我的理论是“x 发生在服务器上”,这导致“通知客户端”调用“添加项目”,传递一个 parentid 和要添加到树中的项目。 通过添加到模型中,项目应该“只出现在树中”。

但是我如何在客户端递归查询项目集合及其子项,因为我在这种情况下没有 linq?

【问题讨论】:

    标签: c# asp.net-mvc mvvm kendo-treeview


    【解决方案1】:

    我认为您只需要编写一个递归函数来遍历层次结构并检查您想要的对象。

    这个问题类似:Underscore.js findWhere nested objects

    如果您喜欢在 .NET 中使用 Linq,您可能需要查看 Underscore.jsLowDash 以了解 JavaScript 中的类似功能。

    【讨论】:

    • 我认为你可能是对的,我已经通过 nuget 提取了 jslinq,我现在只是在试验递归函数。令人沮丧的是拥有如此强大的服务器 sdie 框架,然后在客户端遇到此类问题!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    • 2011-01-11
    相关资源
    最近更新 更多