2016-10-24 1 views
0

私の剣道ツリービューのために、ロードオンデマンドをtrueに設定していますが、データストアモデルの 'children'プロパティが空の場合でも 'children'プロパティが設定されているため、Kndo TreeView LoadOnDemandサーバーに当たっていない

homogeneous = new kendo.data.HierarchicalDataSource({ 
     transport: { 
      read: { 
       type: 'POST', 
       contentType: "application/json; charset=utf-8", 
       url: obj.DataSourcesURL, 
       dataType: "json" 
      }, 
      parameterMap: function (options) { 
       if (!options.Id) { 
        options.Id = null; 

       } 
       if (options.filter) { 
        options.Search = options.filter.filters[0].name; 
       } 
       else { 
        options.Search = ''; 

       } 
       return JSON.stringify(options); 
      } 
     }, 
     schema: { 
      data: "d", 
      errors: function (response) { 
       console.log(response); 
       console.log("errors"); 
      }, 
      model: { 
       hasChildren: "hasChild", 
       children:'items', 
       id: "Id" 
      } 
     } 
    }); 

コントロールとTreeViewコントロールのコードは、あなたのスキーマ内にこのようなhasChildrenを設定する

$treeView.kendoTreeView({ 
     dataTextField: 'Description', 
     checkboxes: { 
      checkChildren: true 
     }, 
     dataSource: homogeneous, 
     loadOnDemand: loadOnDemand, 
     check: function() { 
      var checkedNodes = []; 
      var treeView = $treeView.data("kendoTreeView"); 

      getCheckedNodes(treeView.dataSource.view(), checkedNodes); 
      setMessage(checkedNodes.length); 
     }, 
     dataBound: function (e) { 
      if (e !== undefined) 
       resetCheckedNodes(e.sender.dataItems()); 
     }, 
     messages: { 
      loading: "Laden..." 
     }, 
     expand: function (e) { 
      var dataItem = this.dataItem(e.node); 

     } 
    }); 

答えて

0

てみてくださいです:

schema: { 
     data: "d", 
     errors: function (response) { 
      console.log(response); 
      console.log("errors"); 
     }, 
     model: { 
      hasChildren: function(e) { 
        return e.items && e.items.length; 
       }, 
      children:'items', 
      id: "Id" 
     } 
    } 

そしてまた、あなたの質問から、私はわからないあなたも、どのようなデータを得るのですかまたは返されないデータはChildrenのみです。データ構造がどのように見えるかを示すこともできます。

+0

モデルから子プロパティを削除すると、ルートレベルのデータは取得されますが、子データは取得されませんが、すべて削除され、すべてのデータを(たとえば検索結果として)ロードしようとすると、表示されていません – Mudallal

+0

構造を見たり、応答がどのように見えるかをダミーのデータ構造にするために、データ応答の一部を利用できますか?子どもは「アイテム」と言うと、あなたの子供は次のようになります: '{{ParentId:123、 名前:何か、 アイテム:{Id:1234、名前:childName}}'あなたの子供を表す。 ID:260、 "説明": – error505

+0

{"__type": "EDTS.ViewModel.DataTypes.TreeStructureViewModel"、 "ParentId":null、 "hasChild":true、 "items":null、 "expanded":false "Description 1"}、アイテムは返されたオブジェクトに存在しますが、ロードされていないとしてnull値があることに注意してください。 – Mudallal

関連する問題