所以我的剑道树视图有问题。我得到了正确的父节点,但在子节点上它有另一个级别与无限的子节点相同。我试图设置' hasChildren = false'在我的子节点但它不工作。希望你能帮我解决这个问题。
这是我的代码:
HTML:
<div id="treeview1"></div>
脚本:
var Customer = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: '/Position/LoadGetCompanyList',
dataType: "json"
}
},
schema: {
model: {
id: "ID",
hasChildren: true,
children: Positions
}
}
});
var Positions = {
transport: {
read: {
url:'/Position/LoadIndustriesPositionList',
dataType: "json"
}
},
schema: {
model: {
id: "ID",
hasChildren: false
}
}
};
$("#treeview1").kendoTreeView({
dataTextField: ["CompanyName", "JobName"],
// dataValueField: "Client_CustomerID",
// select: function (e) {
// console.log("Selecting ", e.node)
// },
dataSource: Customer
}).data("kendoTreeView");
在这里附上我的参考链接: http://rameshrajappan.wordpress.com/kendo-treeview-with-asp-net-mvc/ http://demos.telerik.com/kendo-ui/treeview/remote-data-binding
感谢。
答案 0 :(得分:0)
您需要以正确的顺序定义变量(Child first,然后是Parent)。 Positions变量应该在Customer之前,因为Customer将Positions作为其子项。
Kendo Tree View的一个奇怪的行为是,如果顺序不正确,Kendo Tree视图会在无限循环中显示子节点。
更正的代码应如下所示
var Positions = {
transport: {
read: {
url:'/Position/LoadIndustriesPositionList',
dataType: "json"
}
},
schema: {
model: {
id: "ID",
hasChildren: false
}
}
};
var Customer = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: '/Position/LoadGetCompanyList',
dataType: "json"
}
},
schema: {
model: {
id: "ID",
hasChildren: true,
children: Positions
}
}
});
$("#treeview1").kendoTreeView({
dataTextField: ["CompanyName", "JobName"],
// dataValueField: "Client_CustomerID",
// select: function (e) {
// console.log("Selecting ", e.node)
// },
dataSource: Customer
}).data("kendoTreeView");