通过读取变量刷新Kendo UI网格数据

时间:2013-12-26 08:04:34

标签: javascript jquery kendo-ui kendo-grid

Grid从javascript变量中读取数据。

    $("#grid").kendoGrid({
    dataSource: {
        type: "text",
        data: jsvar,
        schema: {
            model: {
                fields: {
                    id: {type: "string", editable: false},
                    name: {type: "string"}
                }
            }
        },
        pageSize: 20
    },
    pageable: {
        input: true,
        numeric: true
    },
   //toolbar: [{text: "Add"}],
    columns: [
        {command: [{text: "Edit", click: showDetailse}, {text: "View", click: viewoneitm}], title: " ", width: "170px"},


    ]
});

然后我用ajax更改此变量jsvar的值并等待ajax响应,之后我用

刷新网格
            jQuery("#grid").data("kendoGrid").dataSource.read();
            jQuery("#grid").data("kendoGrid").refresh();

网格不会重新填充新数据,旧数据会保留在网格中。请告诉我如何刷新网格数据。 这工作正常,网格用于刷新,直到我提出静态数据,但在我使用ajax然后'刷新'后它无法更新

1 个答案:

答案 0 :(得分:11)

如果jsvar包含一个数组,Kendo数据源将为每个数组项创建一个模型,因此如果您修改原始数组,它将不会更改DataSource。如果您想更改数据,您应该这样做:

grid.dataSource.data(jsvar);