gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 22:51:33 27 4
gpt4 key购买 nike

我有一个巨大的 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com