2017-07-27 95 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字段。