jqGrid を LOAD ONCE で使用してから、クライアント側でページングしています。フィルタ ツールバーを追加すると、何らかのフィルタが適用された後にページングが非常に遅くなります。
$(gridElement).jqGrid({
postData: post,
loadComplete: function (data) {
onLoadComplete(data);
},
gridComplete: function () {
onGridComplete();
},
datatype: function (pdata) {
dataSource(pdata);
},
colNames: columnNames,
colModel: columnModel,
rowNum: 10,
rowList: [10, 20, 30],
viewrecords: true,
pagination: true,
pager: pagerElement,
loadonce: true,
sortorder: "desc",
sortname: 'id',
cellEdit: false,
search: true,
gridview: true,
//rownumbers: true
});
$("#jqGrid").jqGrid('filterToolbar',{
stringResult : true,
searchOnEnter : false });
なぜこれが発生するのですか?ページング ボタンをクリックすると、一般的なイベント (onPaging、onGridComplete など) が発生する前に遅延が発生します。
グリッドが完成すると、datatype プロパティが「local」に設定されることに注意してください。
私の推測では、ページを表示するたびにフィルタリングを試みます (または、一度に 1 ページのみをフィルタリングしますか? よくわかりません)。しかし、それを無効にすることはできますか?
ありがとう。