2015-01-06 139 views
0

我無法讓我的Kendo UI網格填充我的JSON數據。Kendo UI網格未填充JSON數據

我懷疑它與我的相關json數據前的'double'數據部分有關。 我不知道如何在我的模式中添加雙重數據標記。任何幫助將非常感激。

JSON:

{"dsProduct": 
{"ttProduct": 
[{"ProductId":"Truck","ProductType":5,"Tradeable":true},{"ProductId":"Tractor","ProductType":5,"Tradeable":false}] 
} 
} 

的JavaScript/HTML代碼:

<!doctype html> 
<html> 
    <head> 
     <title>Kendo Grid with json</title> 
     <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
     <script src="http://cdn.kendostatic.com/2014.3.1119/js/kendo.all.min.js"></script> 
     <link href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.common.min.css" rel="stylesheet" /> 
     <link href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.rtl.min.css" rel="stylesheet" /> 
     <link href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.silver.min.css" rel="stylesheet" /> 

    </head> 
    <body> 
     <div id="example"> 
     <div id="grid"></div> 
      <script> 
       $(document).ready(function() { 
        var crudServiceBaseUrl = "http://localhost:8810/Kendo/rest/KendoRest", 
         dataSource = new kendo.data.DataSource({ 
          transport: { 

           read: { 
            url: crudServiceBaseUrl + "/Products", 
            type: "GET", 
            dataType: "json", 
            contentType: "application/json; charset=utf-8" 
           }, 
          }, 
          batch: true, 
          pageSize: 20, 
          schema: { 
           data: 
            "dsProduct", 

           model: { 

            id: "ProductId", 
            fields: { 
             ProductId: { type: "string" }, 
             ProductType: { type: "number" }, 
             Tradeable: { type: "boolean" } 
            } 
           } 
          } 
         }); 

        $("#grid").kendoGrid({ 
         dataSource: dataSource, 
         pageable: true, 
         height: 550, 
         toolbar: ["create"], 
         columns: [ 
          { field: "ProductId", title: "Product Name" }, 
          { field: "ProductType", title:"Product Type", width: "120px" }, 
          { field: "Tradeable", title:"Can product be traded?", width: "120px" }, 
          { command: ["edit", "destroy"], title: "&nbsp;", width: "250px" }], 
         editable: "popup" 
        }); 
       }); 
     </script> 
     </div> 
    </body> 
</html> 

回答

0

您的shema.data定義是不完全正確。看看你的json,dsProduct下面有一個包含數組的子對象。將您的數據更改爲dsProduct.ttProduct,它應該可以工作。

schema: { 
     data: 
     "dsProduct.ttProduct", 
     model: { 

見工作樣本http://jsbin.com/vevixa/1/edit?html,js,console,output

+0

感謝@Robin Giltner,不勝感激!已經認爲它會是這樣的,它的作品:) – RubenD