8

動的データ Web アプリケーションに追加の検索/フィルター条件を追加するにはどうすればよいですか?

Northwind データベースを使用して動的データ Web アプリケーションを作成し、(ListDetails.aspx ページ テンプレートに基づいて) Employees テーブルのカスタム ページを使用しています。検索/フィルター/場所パラメーターをページに追加したいと考えています。デフォルトでは、WHERE パラメーター コレクションは、FilterRepeater コントロールに基づいて動的に作成されます。これは、従業員テーブルが持つ「外部キー」関係に基づいて動的に作成されます。

追加の検索条件を追加しようとして、GridView の LinqDataSource の Selecting イベントに関連付け、LinqDataSourceSelectEventArgs の WhereParameters コレクションに項目を追加しようとしています。

問題は、実行する必要がある比較の種類を指定できないことです。WhereParameters コレクションは文字列とオブジェクトのみを受け入れますが、それらを比較する方法は受け入れません。私が本当にできるようにしたいのは、述語デリゲートのコレクションに追加することです...

このページに検索条件を追加するにはどうすればよいですか? LINQ To SQL エンティティに適用された属性を通じて (そうであれば、どのように)? 基準/基準がエンティティ自体に基づいていない場合はどうすればよいですか? その場合、検索基準にどのように追加しますか?

アーロン・ホフマン

4

2 に答える 2

7

DD によって自動的に提供されない独自の基準をアプリケーションに追加する場合は、DynamicDataFilteringに移動してそれを行う必要があります。DynamicData 自体は現在、カスタム フィルターと検索をサポートしていません。実装するのは難しくありません。ジョシュ・ヘイズはそれで素晴らしい仕事をしました。

それがあなたが探しているものではない場合は戻ってきてください

編集: また、表示されたデータをさらにフィルタリングすることを意図している場合は、Josh のフィルタリング プロジェクトを使用せずに Page_Init に次のようなものを書くことができます。

GridDataSource.WhereParameters.Add(new Parameter("it.myColumn", TypeCode.Int32, myValue));

「in」または「contains」を実行することは、それよりも少し複雑で、DynamicDataFiltering が必要になります。

于 2009-04-09T16:58:25.560 に答える
6

ASP.NET 4.0 で機能するものは次のとおりです: http://www.olegsych.com/2010/07/understanding-aspnet-dynamic-data-filter-templates/

于 2010-07-29T12:02:00.787 に答える