2017-07-27 53 views
0

我目前正在试图让Kendo TreeView显示一些JSON数据。将远程JSON数据绑定到Kendo TreeView - 仅获取第一层

var treeViewDataSource = new kendo.data.HierarchicalDataSource({ 
     transport: { 
      read: { 
       url: "/Utilities/Tool/Get/TreeView", 
       type: "get", 
       dataType: "json" 
      } 
     } 
    }); 

    $("#tree-view").kendoTreeView({ 
     loadOnDemand: false, 
     dataSource: treeViewDataSource, 
     select: onSelect 
    }); 

凡我JSON数据是这样的:

[{ 
    "text": "CREATE", 
    "description": "Create Transaction", 
    "items": [ 
     { 
      "text": "PSEUDO", 
      "feature": "CREATE", 
      "items": [ 
       { 
        "text": "FIX", 
       } 
      ], 
      "nodeChildren": 1 
     } 
    ], 
    "nodeChildren": 1 
}, 
{ 
    "text": "DATA", 
    "description": "Data Report", 
    "items": [], 
    "nodeChildren": 0 
}] 

现在,奇怪的是,如果我复制并粘贴上述JSON数据到剑道数据源而不是要求其远程的TreeView显示数据很好。当我打电话的远程数据,相反,树视图只显示节点的第一层,看起来是这样的:

CREATE

DATA

短短的一秒钟,而表被加载时,小指定节点是否有子节点的箭头是可见的,但这些箭头很快就会消失。我不确定发生了什么,Kendo文档也不是很有帮助。为什么Kendo没有正确读取这些数据?我使用Postman来测试API,JSON对我来说看起来非常好,如果在本地复制,它也可以工作。是什么赋予了?

感谢

回答

1

我已经找到了解决我的问题,我所要做的就是乱用的模式,虽然我还没有完全理解什么/如何架构的工作原理。

var treeViewDataSource = new kendo.data.HierarchicalDataSource({ 
     transport: { 
      read: { 
       url: "/Utilities/Tool/Get/TreeView", 
       type: "get", 
       dataType: "json" 
      } 
     }, 
     schema: { 
      model: { 
       children: "items" 
      } 
     } 
    }); 

我所要做的就是定义children字段。

相关问题