2011-03-14 6 views
3

フィルタツールバー(列)オプションを使用してjqgridを使用しています...合計データは約10,000です...したがって、configがloadonceに設定されているため、最初の読み込みでいくらかの遅延があるようです。loadonceを使用しないフィルタツールバー:true?

loadonceでフィルター列機能を実装する方法はありますか?falseですか? データの読み込みの遅延は、loadonce:falseでは問題ありません。 loadonce:falseで列フィルタを追加するチャンスがあれば、これは完全に動作します。

答えて

4

約10,000行の場合は、もちろんサーバー側のデータページング、並べ替え、フィルタリングを実装する方が良いでしょう。 filterToolbarをパラメータstringResult:trueと一緒に使用することをお勧めします。この場合、jqGridはという高度な検索のような同じ形式でサーバfiltersパラメータをサーバに送信します。

  • sidxsordパラメータは、データのソート順を定義します。ですから、サーバー側でjqGridから次の入力パラメータを使用する方法を実装する必要があるでしょう。これらの情報は、SELECTステートメントにORDER BYと指定しています。
  • _searchパラメータがtrueの場合、次のパラメータfiltersは、対応するSELECTステートメントのWHERE部分を構成する追加情報を提供します。
  • pageおよびrowsパラメータは、以前にソートされフィルタリングされたデータのどのページが返されるべきかを定義します。

具体的な実装方法は、サーバーで使用する言語とテクノロジ、使用するデータベースサーバーとデータベースへのインターフェイスによって異なります。

+0

これは私のグリッドの初期化です。私はすでにstringResult:trueを使用していましたが、実際は使用していませんでした...現在、最初は10000すべてのデータをロードし、その他のアクションはすべて初期データのxmlフォーマットに基づいて実行しています。私はちょうどサーバーから直接ツールバーをフィルタリングする必要があります。フィルタツールバーに何かを入力すると、xml形式で最初に読み込まれたすべてのデータからではなく、サーバーからのデータをチェックする必要があります。 – George

+0

@ George: 'loadonce:true'を削除するだけです。最初のリクエストでは、rows = 20&page = 1&sidx = fireform_respondent.id&sord = ascとなります。サーバは、ORDER BYのfireform_respondent.idとLIMIT 0,20を使用します([here](http://www.trirand.com/jqgridwiki/doku.php?id=wiki:first_grid#php_and_mysql_example_file)を参照)。 PHPのデモファイルをhttp://www.trirand.com/blog/?page_id=6からロードすることができます。 search_adv.phpでは 'filterToolbar'によって送られる' filters'パラメータをどのようにデコードするのか、 'SELECT'の' WHERE'部分でそれを使ってフィルタリングされたデータだけを返す方法を見つけます。 – Oleg

+0

loadonce:trueを削除すると、フィルタツールバーは機能しません。つまり、キーワードに基づいてデータを並べ替えることはできません...しかし、loadonce:trueを使用すると、ツールバーの検索フィールド...私の目的はこれに対する解決策を見つけることです。つまり、ツールバーの検索フィールドに何かを入力すると、直接サーバーに要求を送信し、データベースからデータを検索する必要があります。 – George

関連する問題