2016-03-03 115 views
0

如果我們在創建網格時設置數據源,Kendo網格正在正確加載數據。如果我們創建沒有數據源的網格,然後嘗試設置數據源,則數據不會被加載。Kendo Grid - setDataSource不起作用

HTML

<div id="grid"></div> 
<script id="rowTemplate" type="text/x-kendo-tmpl"> 
    <tr> 
     <td>#: LastName #</td> 
     <td>#: FirstName #</td> 
    </tr> 
</script> 

劍道網格與下面的代碼

$jQuery2_1(document).ready(function() { 
     $jQuery2_1("#grid").kendoGrid({ 
      dataSource: JSON.parse($jQuery2_1("#PlaceHolderMain_hidJson").val()), 
      rowTemplate: kendo.template($("#rowTemplate").html()), 
      sortable: true, 
      columns: [ 
       { field: "LastName", title: "Last Name" }, 
       { field: "FirstName", title: "First Name", width: "120px" }, 
      ] 
     }); 
    }); 

加載數據如果我首先定義網格和設置數據源,劍術網格不加載數據。

$jQuery2_1(document).ready(function() { 
     $jQuery2_1("#grid").kendoGrid({ 
      rowTemplate: kendo.template($("#rowTemplate").html()), 
      sortable: true, 
      columns: [ 
       { field: "LastName", title: "Last Name" }, 
       { field: "FirstName", title: "First Name", width: "120px" }, 
      ] 
     }); 

     var dataSource = new kendo.data.DataSource({ 
      data: JSON.parse($jQuery2_1("#PlaceHolderMain_hidJson").val()) 
     }); 
     var grid = $("#grid").data("kendoGrid"); 
     grid.setDataSource(dataSource); 
    }); 

回答

0

您似乎在使用$jQuery2_1作爲別名。

所以,行

var grid = $("#grid").data("kendoGrid"); 

改變

var grid = $jQuery2_1("#grid").data("kendoGrid"); 
+0

我的錯誤。沒有注意到它。謝謝 – Kumaran