2012-02-27 16 views
1

私はいくつかのデフォルト値を設定するグリッド内にフィルタツールバーを持っており、フィルタが設定された後、グリッドの内容を更新する次のコードを実行します。フィルタが既に適用されているjqgridをロード

  var gridDOM = this; // save $("#list")[0] in a variable 
      if ($(this).jqGrid('getGridParam', 'datatype') === 'json') { 
       // the first load from the server 
       setTimeout(function() { 
        gridDOM.triggerToolbar(); 
       }); 
      } 

これに伴う問題は、グリッドが適用される任意のフィルタなしで、最初にすべてのデータがロードされていることです。上記のコードでフィルタを適用すると、小さな「フラッシュ」が生成されます。

私が望むのは、フィルタリングの結果を直接ロードすることであり、完全なコンテンツをプリロードしてからフィルタリングされた結果を提示することではありません。

答えて

2

あなたが持っている問題の原因は、投稿したコードの外にあると思います。フィルタリングされたグリッドを直接初期化としてロードする必要がある場合は、オプションのプロパティをfiltersに設定し、jqGridのオプションsearchをtrueに設定するだけです。

the demoを参照してください。the answer詳細については、

postData.filtersの情報をフィルタツールバーに追加したい場合は、the answerに記載されているrefreshSerchingToolbar関数を呼び出すことができます。

関連する問題