我需要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);,寻呼机的工作方式应该如此,但过滤器不会设置正确的数据。
答案 0 :(得分:0)
好的,我能够搞清楚。而不是重置结果中的数据,重置网格数据源似乎工作。所以:
var grid = $("#grid").data("kendoGrid");
var ds = populateAwardDataSource(JSON.parse(results));
ds.read();
grid.dataSource.data(ds.data());
grid.setDataSource(grid.dataSource);
grid.refresh();