razor - Kendo Treeview - 如何在展开 Kendo Treeview 上加载子节点

标签 razor kendo-ui treeview kendo-treeview kendo-ui-mvc

我有一个巨大的 Treeview 要绑定(bind),所以需要渲染所有的 parent ,然后在展开时渲染 child 。如何在扩展 Kendo Treeview 上加载子节点?

我看过下面的线程,但不确定“Node”和“HasNodes”的引用来自他的上一篇文章中说问题已解决。

感谢帮助。

How to load child node on expand kendo treeview

最佳答案

在过去的几天里,我自己一直在玩这个......

首先,您需要定义一个方法,该方法允许您传递节点 ID(您正在扩展的节点),如果获取根节点并返回节点对象列表,则为 null。

配置 Treeview 时,请确保您没有将模型设置为使用 'children' 字段 - 这会出于某种原因阻止任何按需加载并将 loadOnDemand 设置为 true(无论如何都是默认设置)。

设置完成后,您需要配置 transport.read.data 以获取节点的 id 并将其传递给您的方法调用。

在我的示例中,我将树模型定义为具有 ItemId、ItemName、HasChildItems 和 ParentTreeId 属性的对象。

将 HasChildItems 设置为 true 可确保扩展功能可用于节点。

示例:-

演示配置

// the Datasource
var demoDataSource= new kendo.data.HierarchicalDataSource({
            transport: {
                read: {
                    url: urlforyouraction_dataretrieval,
                    cache: false,
                    type: 'POST',
                    dataType: "json",
                    traditional: true,
                    data: function (e) {
                        return {
// e is the node passed in, this is null on initial read
                            ParentTreeId: !e.id ? null : e.id
                        }
                    }
                }
            },
            schema: {
                model: {
                    id: "ItemId",
                    Name: "ItemName",
                    hasChildren: "HasChildItems",
                    parentTreeId: "ParentTreeId"
                }
            }
        });

    // the treeview
    var demoTree = $("#treeview-left").kendoTreeView({
                loadOnDemand: true,
                dataSource: demoDataSource,
                dataTextField: "ItemName"
            }).data("kendoTreeView");

关于razor - Kendo Treeview - 如何在展开 Kendo Treeview 上加载子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28075405/

相关文章:

java - 获取复选框 TreeView JavaFx 中选中的项目

asp.net-mvc-3 - 为什么 @Html.Label() 删除一些字符

c# - MVC 通过表单集合获取 Basic RadioButton 检查的属性

c# - 将小数格式化为百分比以显示在 View 中?

javascript - KendoUI - 如何在运行时根据用户输入创建控件?

jquery - 关闭/打开 Kendo UI 网格可编辑模式

javascript - 如何使用 Javascript 轻松实现可视化交互式树数据结构?

javascript - 将对象嵌套在数组中的对象中时出错

asp.net-mvc-4 - 将 jquery 验证添加到 kendo ui 元素

python - 删除 tkinter TreeView 中的标题行