作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个巨大的 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/
我是一名优秀的程序员,十分优秀!