我有一个Kendo HierarchicalDataSource
对象绑定到一个Kendo treeview
小部件。
HierarchicalDataSource
只返回一个级别很深的json格式化对象,但出于某种原因,它不会在treeview
中呈现。它只显示顶部节点" Dimensions",但在展开时不呈现数据。
这是我的插件treeview sample,其中包含index.html
和script.js
。
对于script.js的FYI:
$scope.dimenDataSource
是Kendo HierarchicalDataSource对象,它使用transport
属性调用我的方法getDimensionsFromServer2
并指定schema
。
另一个FYI:在getDimensionsFromServer2()
我有两种方法可以返回我的测试数据。 dataFlat
var返回一个平面数组,渲染得很好。 data
对象具有嵌套数据,但不在树视图中呈现。
我不确定出了什么问题。
谢谢你, 鲍勃
**** 更新 ****
问题在于schema
设置的错误放置(请参阅我的回答):
settings.dimenDataSource = new kendo.data.HierarchicalDataSource({
transport: {
read: function(options){
datacontext.getDimensionsFromServer().then(function (data) {
var rootnode = [{ name: "Dimensions", items: data.data }];
options.success(rootnode);
});
},
schema: {
model: { children: "items" }
},
loadOnDemand: false
}
});

答案 0 :(得分:0)
我的错误在于schema
展示位置,我无意中将其置于transport
选项中。它应该放在同一级别,而不是它内。
以下是更正后的版本:
settings.dimenDataSource = new kendo.data.HierarchicalDataSource({
transport: {
read: function(options){
datacontext.getDimensionsFromServer().then(function (data) {
var rootnode = [{ name: "Dimensions", items: data.data }];
options.success(rootnode);
});
},
loadOnDemand: false
},
schema: {
model: { children: "items" }
}
});