初始加载后,我尝试使用ajax请求过滤kendo网格,因为我基于网格外的许多控件进行过滤。我的请求数据在newObj中是正确的,我从服务器获得的结果是正确的。 我正在使用此代码。
$.ajax({
url: 'Books/GetAll',
type: "POST",
async: false,
data: JSON.stringify(newObj),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (returnValue) {
var grid = $('#kBooks').getKendoGrid();
grid.dataSource.data(returnValue.GridData);
**grid.dataSource.totalPages(returnValue.TotalCount);**
grid.refresh();
},
error: function (request, status, error) {
}
});
我在网格上显示了正确的数据,但网格变得不再可分页,尽管我将returnValue.TotalCount设置为超过1页。 我只需要知道如何在设置数据后设置网格上的总页面值。 感谢
答案 0 :(得分:1)
totalPages
方法无法设置总页数。如果为服务器分页配置了数据源,则只需设置总计。但是在这种情况下,数据源需要自己检索数据(使用其传输配置)。
如果您尚未启用服务器分页,则无需设置总分。数据源将分页可用数据(通过data
方法设置)。
如果您已启用服务器分页,则需要更改实施:
dataSource: {
schema: {
// Describe the response format
data: "GridData",
total: "TotalCount"
},
transport: {
read: function(options) {
$.ajax({
url: 'Books/GetAll',
type: "POST",
async: false,
data: JSON.stringify(newObj),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (returnValue) {
// notify the data source that data has been received
options.success(returnValue);
},
error: function (request, status, error) {
}
});
}
}
}