0

並べ替えとフィルター処理を行うデータで満たされたテーブルがあります。

毎回サーバーからデータをロードする自動更新機能を実装しましたが、並べ替えとフィルターのオプションを復元したいと思います。

を使用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});
      })
    };
  }
4

1 に答える 1