2013-06-21 1 views
6

剣道のUIグリッドに入れ子になったJSONを挿入する方法を教えてください。入れ子になったJsonを使用して剣道のUIグリッドを設定するにはどうすればよいですか?

私はJSONが

var myJson: 
    [{"oneType":[ 
     {"id":1,"name":"John Doe"}, 
     {"id":2,"name":"Don Joeh"} 
    ]}, 
    {"othertype":"working"}, 
    {"otherstuff":"xyz"}] 
}]; 

のようなもので、私はID、名前、OtherTypeとOtherStuffなどの列を持つ剣道UIグリッドをしたいわけ。

事前に感謝!複雑なJSON構造については

答えて

9

あなたがわずかにあなたのJSONを変更する場合は、schema.parse

var grid = $("#grid").kendoGrid({ 
    dataSource : { 
     data : [ 
      { 
       "oneType": [ 
        {"id": 1, "name": "John Doe"}, 
        {"id": 2, "name": "Don Joeh"} 
       ] 
      }, 
      {"othertype": "working"}, 
      {"otherstuff": "xyz"} 
     ], 
     pageSize: 10, 
     schema : { 
      parse : function(d) { 
       for (var i = 0; i < d.length; i++) { 
        if (d[i].oneType) { 
         return d[i].oneType; 
        } 
       } 
       return []; 
      } 
     } 
    } 
}).data("kendoGrid"); 

を使用する場合があります。

{ 
    "oneType" : [ 
     {"id": 1, "name": "John Doe"}, 
     {"id": 2, "name": "Don Joeh"} 
    ], 
    "othertype" : "working", 
    "otherstuff": "xyz" 
} 

、あなたが使用することができます。

var grid = $("#grid").kendoGrid({ 
    dataSource: { 
     data : { 
      "oneType" : [ 
       {"id": 1, "name": "John Doe"}, 
       {"id": 2, "name": "Don Joeh"} 
      ], 
      "othertype" : "working", 
      "otherstuff": "xyz" 
     }, 
     pageSize: 10, 
     schema : { 
      data: "oneType" 
     } 
    } 
}).data("kendoGrid"); 
+0

感謝。スキーマを使用すると、グリッドに列をどのように指定できますか?グリッドの列構造を定義してください。 – Saurabh

+1

これは別の質問であるようです。それは...ですか? 2つの異なる質問があります:1つはモデルの定義です。もう1つは列の定義です。前に行ったように列を定義します。 – OnaBai

0

私はちょうど欲しかったですOnaBai'sに基づいて別の回答を提出する。

http://jsfiddle.net/L6LwW/17/

HTML:

<script id="message-template" type="text/x-kendo-template"> 
    #for (var i = 0; i 
    < ddl.length; i++) {# <li><span>#=ddl[i].value#</li> 
    #}# 
    </script> 

<div id="grid"></div> 

JS:あなたは返信用

var grid = $("#grid").kendoGrid({ 
    dataSource: { 
    data: [ 
     [{ 
     "id": 1, 
     "name": "John Doe", 
     "ddl": [{ 
      "key": 1, 
      "value": "hello" 
     }, { 
      "key": 1, 
      "value": "hello" 
     }] 
     }, { 
     "id": 2, 
     "name": "Don Joeh", 
     "ddl": [{ 
      "key": 1, 
      "value": "hello" 
     }, { 
      "key": 1, 
      "value": "hello" 
     }] 
     }] 
    ], 
    pageSize: 10, 
    schema: { 
     parse: function(d) { 
     for (var i = 0; i < d.length; i++) { 
      if (d[i]) { 
      return d[i]; 
      } 
     } 
     return []; 
     } 
    } 
    }, 
    columns: [{ 
     field: "id", 
     title: "ID" 
    }, { 
     field: "name", 
     title: "Name" 
    }, { 
     field: "ddl", 
     title: "DDL", 
     width: "180px", 
     template: kendo.template($("#message-template").html()) 
    } //template: "#=ddl.value#" } 
    ] 
}).data("kendoGrid"); 
関連する問題