【发布时间】:2013-06-07 03:14:54
【问题描述】:
我的问题在于 jQGrid 和 OData 数据源 (.NET WCF)
我正在尝试让 jQgrid 分页正常工作,目前我有一个基本的数据加载和列排序功能。
我通过重写 xmlReader 函数来让 jQgrid 解析 OData XML 来做到这一点
xmlReader: {
root: "feed",
row: "entry",
id: "entry>id",
total: "m:count"
}
然后在对服务器的请求中,我覆盖了serializeGridData 函数以尝试以 OData 格式发送请求。
serializeGridData: function (obj) {
obj["$inlinecount"] = "allpages";
obj["$orderby"] = obj.sidx + " " + obj.sord;
obj["$skip"] = (obj.page - 1) * obj.rows;
return obj;
}
但问题是 OData 响应仅包含 m:count,即记录总数。我相信 jQGrid 至少需要 totalrecords、currentpagenum 和 totalPages 才能使分页正常工作。
我错过了什么?
一个附带问题是 Kendo UI Grid 如何实现这一点,我可以从他们的代码中学习(或提升)什么吗??
服务器端分页演示 - http://demos.kendoui.com/web/grid/remote-data.html
演示与 oData 源通信的位置:http://demos.kendoui.com/service/Northwind.svc/Orders
使用相同的 oData 格式并获得相同的响应 - 缺少页码。
【问题讨论】: