私の問題は、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 形式を使用し、同じ応答を取得します - ページ番号がありません。