2

jqGrid のドキュメントに記載されているアプローチとは異なる検索基準を作成するために、独自の検索ダイアログを作成するというアイデアを考えていました。これには、日付範囲の適切なサポート、よりユーザー フレンドリーな検索ダイアログなど、さまざまな理由があります。

誰かがこのフローの作成を試みたかどうか、および実装に飛び込む前に独自の複雑な検索を作成することが回避策としてどれほど効果的かを知りたいです。

  1. ユーザーが検索に必要な情報を挿入するダイアログを作成します (現在の jqGrid の高度なカスタム検索とは異なります)。
  2. リクエストはサーバーに送信され、addJSONDataメソッドを使用してグリッドに挿入できる JSON として取得されます。
  3. nextjqGrid は検索された値のページングを保持し、 ボタンとpreviousボタンがヒットするとページングが (検索条件に基づいてフェッチされたデータで) 正しく機能するようにします。

問題は、ナビゲーションのプロセスの検索で使用されるものと同じものを使用するように変更した場合next、ナビゲーションを機能させることができるかということです。これは、イベントがトリガーされ、検索されたデータに対してページングが発生していることを指示する単純なロジックで発生する可能性がありますか?previousfilterssetGridParamdataonPaging

どうもありがとう。

4

1 に答える 1

3

まず、カスタム検索ダイアログの実装については少し悲観的です。その理由は、実装に多くの時間を費やすことになるからです。標準の検索ダイアログ内でカスタム コントロールを使用することをお勧めします。私が提案した変更を適用した後、それが可能になりました。

次のような検索ダイアログを作成できるデモを見てください

ここに画像の説明を入力

このようにして、質問で説明した多くの問題を解決できます。

カスタム検索ダイアログを作成する場合は、次の手順を実行する必要があります。

  • 新しい検索ダイアログは、プロパティの検索条件に関する情報を追加する必要がありpostDataます。
  • を使用してグリッドをリロードします.trigger.("reloadGrid")

サーバーに対して別の Ajax リクエストを行う必要はありません。グリッドのリロードが必要です。

フィルタに関する情報を保存する場合は、標準形式postData.filtersを保持する必要があります。場合によっては、ローカル データ フィルタリング (または の使用) を利用できます。例として、回答のデモを参照してください。datatype: 'local'loadonce: true

サーバー側でのみデータのフィルタリングを実装する場合は、任意の形式の追加プロパティを使用できます (同じ名前は使用しないでくださいfilters)。検索フィルター (コントロール) を常にページに表示したい場合は、postDataプロパティを関数として使用する手法を使用することをお勧めします (回答を参照)。

于 2012-04-23T16:38:16.360 に答える