Kendo Grid - setDataSource不工作

时间:2016-03-03 12:13:25

标签: kendo-grid

如果我们在创建网格时设置数据源,Kendo网格正在正确加载数据。如果我们创建没有数据源的网格,然后尝试设置数据源,则不会加载数据。

HTML

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

Kendo网格正在使用以下代码加载数据

$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" },
            ]
        });
    });

如果我先定义网格并设置数据源,则kendo网格不会加载数据。

$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);
    });

1 个答案:

答案 0 :(得分:0)

您好像使用$jQuery2_1作为别名。

所以,改变行

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

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