我正在显示一个包含远程数据的网格,如果我不添加分页,则显示完整的数据集,当然这是不可取的。
以下是我用于在网格上显示数据的代码:
var ds = new kendo.data.DataSource({
transport: {
read: {
url: "http://127.0.0.1:81/SismosService.svc/usuario/index",
dataType: "json"
}
},
schema: {
data: "Response"
},
pageSize: 5
});
$("#usuariosGrid").kendoGrid({
pageable: {
refresh: true
},
columns: [
{ field: "UsuarioId", title: "ID", width: "100px" },
{ field: "Nombre", title: "Nombre", width: "100px" },
{ field: "ApellidoP", title: "Apellido Paterno", width: "100px" },
{ field: "ApellidoM", title: "Apellido Materno", width: "100px" },
{ command: [{ text: "Editar", click: editFunction }, { text: "Eliminar", click: deleteFunction }], title: " ", width: "200px" }
],
dataSource: ds
});
这会呈现一个包含5个项目的网格,但就是这样,我无法浏览其余条目。要显示的页数和项目标记为零,禁用导航控件。
我在配置中遗漏了什么?感谢您提供的任何帮助。
答案 0 :(得分:7)
当在服务器中完成分页(检查serverpaging)时,您需要返回记录总数。有关信息,请参阅total
。
答案 1 :(得分:1)
我遇到了同样的问题,因为我误解了serverPaging。如果将serverPaging设置为true,则还必须修改服务器返回的内容。
以前,我让服务器返回所有数据。为了解决这个问题,我使用ToDataSourceResult
来修改我的服务器返回的内容。
请参阅: How to implement Server side paging in Client side Kendo UI grid in asp.net mvc
答案 2 :(得分:0)
在这个小问题上花了一天时间,所有你要做的就是返回记录的总数,如果你的服务没有返回记录总数,请执行以下操作
schema: {
data: "Response"
},
total: function(response)
{
return response."your method name".lenght;
}