【问题标题】:Kendo grid setdatasource renders pager ineptKendo 网格 setdatasource 使寻呼机无能为力
【发布时间】:2018-03-20 14:46:56
【问题描述】:

我需要 grid.setDataSource(ds) 来设置过滤器,但添加此脚本会禁用网格的页数。因此,我将页面大小的网格设置为 20,但相反,它会在视图中显示所有内容。寻呼机就像它工作一样,这意味着,如果您单击左或右,页面会发生变化,并且寻呼机中的计数也会发生变化,但实际视图不会改变,因为它会加载所有数据并忽略页面大小。所以我被困在如何让它们一起工作。

  var grid = $("#grid").data("kendoGrid");
  var ds = populateAwardDataSource(JSON.parse(results));
  ds.read();
  grid.dataSource.data(ds.data());
  grid.setDataSource(ds);

  function populateAwardDataSource(dataJson) {
    var dataSource = new kendo.data.DataSource({
        type: "json",
        data: dataJson,
        batch: true,
        serverPaging: true,
        schema: {
            model: {
                id: "clientProgramId",
                fields: {
                    index: { type: "number" },
                    cycle: { type: "number" },
                    ID: { type: "string" },
                    action: { type: "command" }
                }
            },
        },
        pageSize: 20,
    });
    return dataSource;
}

如果我取出脚本 grid.setDataSource(ds);,寻呼机正常工作,但过滤器没有设置正确的数据。

【问题讨论】:

  • 你能发布相关的html吗?
  • 嗯,唯一的 html 是实际的网格本身,即
    ,就是这样

标签: jquery kendo-ui kendo-grid


【解决方案1】:

好的,我能够弄清楚。而不是从结果中重置数据,重置网格数据源似乎有效。所以:

        var grid = $("#grid").data("kendoGrid");
        var ds = populateAwardDataSource(JSON.parse(results));
        ds.read();
        grid.dataSource.data(ds.data());
        grid.setDataSource(grid.dataSource);
        grid.refresh();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-10
    • 2021-11-23
    • 2011-10-26
    • 2011-05-19
    • 1970-01-01
    相关资源
    最近更新 更多