Kendo HierarchicalDataSource问题绑定到剑道树视图

时间:2015-07-02 14:42:59

标签: kendo-treeview

我有一个Kendo HierarchicalDataSource对象绑定到一个Kendo treeview小部件。

HierarchicalDataSource只返回一个级别很深的json格式化对象,但出于某种原因,它不会在treeview中呈现。它只显示顶部节点" Dimensions",但在展开时不呈现数据。

这是我的插件treeview sample,其中包含index.htmlscript.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                
  }
});




1 个答案:

答案 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" }
  }
});