並べ替えとフィルター処理を行うデータで満たされたテーブルがあります。
毎回サーバーからデータをロードする自動更新機能を実装しましたが、並べ替えとフィルターのオプションを復元したいと思います。
を使用trigger("reloadGrid",[{current:true}])
し、データ型を json に設定して、関数でサーバーからデータが取得されるようにします。また、他のスタックオーバーフローの質問で説明されてautorefresh
いるように、並べ替えとフィルターのオプションが を使用してloadcomplete
メソッドで使用されます。setTimeout
それは機能しますが、グリッドが更新されるたびに、1 秒間、並べ替えもフィルター処理もされていない完全なデータを含むグリッドが表示され、データはローカルで並べ替え/フィルター処理されます。
5 秒の自動更新がreloadGrid
必要な場合、サーバー リクエストがあるときにメソッドが完全なデータを表示しないようにする方法はありますが、表示が更新されるのをreload
待ちますか?loadComplete
関数で使用されるリロードautorefresh
:
$("#MyGrid").jqGrid("setGridParam",{url:"list.php", datatype:"json"}).trigger("reloadGrid",[{current:true}]);
モデル :
jQuery("#MyGrid").jqGrid({
url:'list.php',
datatype: "json",
loadonce:true,
...
loadComplete: function(){
if ($("#MyGrid").jqGrid("getGridParam", "datatype") !== "local") {
setTimeout(function () {
$("#MyGrid").jqGrid("setGridParam",{search:srch,postData:post});
})
};
}