投稿された「_search」および「filters」データを処理し、それを使用してデータベースに結果を照会する例またはドキュメントはありますか?
ありがとう...
投稿された「_search」および「filters」データを処理し、それを使用してデータベースに結果を照会する例またはドキュメントはありますか?
ありがとう...
値_search
は単なるブール値です。の場合_search
は、ドキュメントに記載されている形式のパラメータをtrue
使用してデータをフィルタリングする必要があります。filters
prmNames
オプションを使用して名前を変更できます_search
。たとえばprmNames: { search: null, nd: null }
、不要なパラメータ_search
を削除しnd
、別の例ではprmNames: { search: "isSearching" }
デフォルト_search
パラメータの名前を に変更しますisSearching
。
ポストされたパラメーターの処理filters
は、使用する多くの実装の詳細に依存します。フリーのオープンソースjqGridをベースに開発された商用製品のjqgrid-asp.netタグとjqgrid -phpタグの両方を使用しました。私はその商品について詳しくないので、その場合は何のお手伝いもできません。さらに、PHP と ASP.NET をタグとして含めたことは非常に奇妙です。どちらの場合も、実装は完全に異なる場合があります。ASP.NET がメイン プラットフォームである場合、使用するデータベース アクセスは、実装の最も重要な側面です。3 つの典型的なオプション: Entity Framework、LINQ to SQL、および必要性がまったく異なるSQLCommand
SqlDataReader
動的フィルタリングの実装。
回答は、Entity Framework を使用する場合の実装例を提供します。Entity Framework を使用する最大の利点は、文字列パラメーターでObjectQuery.Whereを使用できることです。SQLステートメントの一部で使用する必要があるパラメーターを使用して文字列を作成できる方法です。ほとんど同じアプローチを使用して、パラメーターを使用してコマンドを作成できます。filters
WHERE
SQLCommand
反対側のLINQ to SQLには可能性がなく、ここのようなより洗練されたアプローチを使用するか、いくつかのライブラリ(このような)を使用する必要があります。
私が本当にお勧めするのは、 の使用を検討することloadonce: true
です。グリッドに表示する必要があるデータセットに数百 (または数千) の行が含まれている場合は、すべてのデータを jqGrid に返し (データは正しく並べ替えられている必要があります)、ローカルフィルタリングとloadonce: true
実装に使用する方が効果的です。データのページング。サーバーコードを簡素化でき、グリッドはユーザーの観点からさらに責任を負う可能性があります.JavaScriptエンジンは十分に高速になり、jqGridによるローカルフィルタリングはサーバーへのリクエストの送信とサーバー側フィルタリングの使用により高速になる可能性があります.