Razor 剑道树视图-如何在展开剑道树视图上加载子节点
我有一个巨大的树视图要绑定,所以需要渲染所有的父视图,然后在展开时渲染子视图。如何在展开剑道树视图上加载子节点 我已经看了下面的帖子,但不确定“节点”和“HasNodes”的引用是从哪里来的,他在上一篇文章中说问题解决了 谢谢你的帮助Razor 剑道树视图-如何在展开剑道树视图上加载子节点,razor,kendo-ui,treeview,kendo-treeview,kendo-ui-mvc,Razor,Kendo Ui,Treeview,Kendo Treeview,Kendo Ui Mvc,我有一个巨大的树视图要绑定,所以需要渲染所有的父视图,然后在展开时渲染子视图。如何在展开剑道树视图上加载子节点 我已经看了下面的帖子,但不确定“节点”和“HasNodes”的引用是从哪里来的,他在上一篇文章中说问题解决了 谢谢你的帮助 过去几天我自己一直在玩这个 首先,您需要定义一个方法,该方法允许您传递一个节点Id(您正在扩展的那个),或者如果获取根节点并返回一个节点对象列表,则为null 配置treeview时,请确保您没有将模型设置为使用“children”字段-这会由于某种原因阻止任何o
过去几天我自己一直在玩这个 首先,您需要定义一个方法,该方法允许您传递一个节点Id(您正在扩展的那个),或者如果获取根节点并返回一个节点对象列表,则为null 配置treeview时,请确保您没有将模型设置为使用“children”字段-这会由于某种原因阻止任何ondemand加载,并将loadOnDemand设置为true(默认情况下仍为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");