我有一个绑定到远程数据的Kendo UI树视图;但是,当显示顶级项目,并且箭头表示存在子项目时,单击箭头除了旋转之外什么都不做 - 没有扩展来显示子节点。任何帮助将不胜感激。
我的代码如下所示:
var industryTree = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: 'http://'+document.domain+'/services/TreeIndustries.php',
dataType: "json"
},
schema: {
model: {
id:"id"
}
}
}
});
我的树初始化:
var industryTreeView=$("#industry-tree").kendoTreeView({
dataSource: industryTree,
dataTextField: ["text","text"]
});
JSON返回正确验证;任何想看的人都可以在这里查看:
http://173.45.233.104/services/TreeIndustries.php
答案 0 :(得分:2)
我很抱歉,但似乎“儿童”的有效名称有限制,children
不是有效名称。
还有一个问题是,当schema
位于transport
时,他们应该在同一级别定义var industryTree = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: 'http://'+document.domain+'/services/TreeIndustries.php',
dataType: "json"
}
},
schema: {
model: {
id:"id"
}
}
});
:
children
如果您更改了JSON并将items
替换为kids
,_children
甚至loadOnDemand
,那么它应该有效。
此外,请记住将false
设置为var industryTree = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url : 'http://' + document.domain + '/services/TreeIndustries.php',
dataType: "json"
}
},
schema : {
model: {
id : "id",
children: "_children"
}
}
});
以装入完整的树。
使用这些,您的DataSource应如下所示:
var industryTreeView = $("#industry-tree").kendoTreeView({
loadOnDemand : false,
dataSource : industryTree,
dataTextField: "label"
});
树初始化:
{{1}}