首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kendo grid setdatasource渲染pager inept

Kendo grid setdatasource渲染pager inept
EN

Stack Overflow用户
提问于 2018-03-20 22:46:57
回答 1查看 87关注 0票数 0

我需要grid.setDataSource(ds)来设置过滤器,但是添加此脚本会禁用网格的页数。因此,我将页面大小的网格设置为20,但它在视图中显示所有内容。页面导航器的工作方式与它的工作方式相同,也就是说,如果您单击鼠标左键或右键,页面会发生变化,页面的计数也会发生变化,但实际视图不会发生变化,因为它会加载所有数据并忽略页面大小。所以我被困在如何让它们一起工作的问题上。

代码语言:javascript
复制
  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);,寻呼机就会正常工作,但是过滤器不能使用正确的数据进行设置。

EN

回答 1

Stack Overflow用户

发布于 2018-03-21 01:13:33

好的,我已经弄明白了。重置网格数据源似乎是可行的,而不是重置结果中的数据。所以:

代码语言:javascript
复制
        var grid = $("#grid").data("kendoGrid");
        var ds = populateAwardDataSource(JSON.parse(results));
        ds.read();
        grid.dataSource.data(ds.data());
        grid.setDataSource(grid.dataSource);
        grid.refresh();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49387322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档