我需要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);,寻呼机就会正常工作,但是过滤器不能使用正确的数据进行设置。
发布于 2018-03-21 01:13:33
好的,我已经弄明白了。重置网格数据源似乎是可行的,而不是重置结果中的数据。所以:
var grid = $("#grid").data("kendoGrid");
var ds = populateAwardDataSource(JSON.parse(results));
ds.read();
grid.dataSource.data(ds.data());
grid.setDataSource(grid.dataSource);
grid.refresh();https://stackoverflow.com/questions/49387322
复制相似问题