次のコードで jqgrid を構築しています。
$(document).ready(function () {
$("#Data").jqGrid({
url: '/Home/LoadData',
loadonce:true,
datatype: "json",
mtype: "GET",
colNames:["ID"],
colModel: [
{ name: "Id",index:'ID',width:800, align: "center"}
],
pager: "#Pager",
rowNum: '10',
rowList: [10, 20, 30],
sortname: "ID",
sortorder: "asc",
height: "auto",
gridview:true,
sortname: "ID",
viewrecords: true,
caption: "My First Grid",
loadComplete: function (data) {
var $this = $(this),
datatype = $this.getGridParam('datatype');
if (datatype === "xml" || datatype === "json") {
setTimeout(function () {
$this.trigger("reloadGrid");
}, 100);
}
}
});
});
これはまったく問題なく動作しています。ただし、これはすべてクライアント側で行われます。また、グリッドに対して loadonce:true を使用しています。これは、グリッドがすべてのデータを一度にロードすることを意味します。
しかし、私は約30,000件のレコードを持っています。
loadonce=true
これは正しいオプションではありません。したがって、サーバー側の並べ替えとサーバー側のページングを実装する必要があります。
ページごとにレコードをロードする必要がありますが、すべてのレコードを考慮して並べ替え/フィルタリングを行う必要があります。
これを手伝ってください..可能であれば、ページングとソート用のC#コードとJqueryスクリプトのコードサンプルを提供してください..