0

投稿された「_search」および「filters」データを処理し、それを使用してデータベースに結果を照会する例またはドキュメントはありますか?

ありがとう...

4

1 に答える 1

0

_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、および必要性がまったく異なるSQLCommandSqlDataReader動的フィルタリングの実装。

回答は、Entity Framework を使用する場合の実装例を提供します。Entity Framework を使用する最大の利点は、文字列パラメーターでObjectQuery.Whereを使用できることです。SQLステートメントの一部で使用する必要があるパラメーターを使用して文字列を作成できる方法です。ほとんど同じアプローチを使用して、パラメーターを使用してコマンドを作成できます。filtersWHERESQLCommand

反対側のLINQ to SQLには可能性がなく、ここのようなより洗練されたアプローチを使用するか、いくつかのライブラリ(このような)を使用する必要があります。

私が本当にお勧めするのは、 の使用を検討することloadonce: trueです。グリッドに表示する必要があるデータセットに数百 (または数千) の行が含まれている場合は、すべてのデータを jqGrid に返し (データは正しく並べ替えられている必要があります)、ローカルフィルタリングとloadonce: true実装に使用する方が効果的です。データのページング。サーバーコードを簡素化でき、グリッドはユーザーの観点からさらに責任を負う可能性があります.JavaScriptエンジンは十分に高速になり、jqGridによるローカルフィルタリングはサーバーへのリクエストの送信とサーバー側フィルタリングの使用により高速になる可能性があります.

于 2013-06-15T11:15:02.377 に答える