2011-08-01 1 views
2

私はWindows Formsアプリケーションを構築しています。これらのフォームの多くは、LinqToSqlオブジェクトにリンクされているBindingSourceを使用しています。私はまた、BindingSourceを使用するDataGridViewを持っています。これは本当にうまく動作し、すべての作成/編集/更新作業を行います。WindowsフォームLinqToSqlへのBindingSourceが 'Filter'プロパティの適用に失敗する

しかし私はこのようなFilterプロパティに文字列を入れたとき:

VesID='ABC' 

を、それはフィルタしません。フィルタをオブジェクトデータソースと連携させるために必要な特別な構文はありますか?

+0

私は自分自身が不思議です。私は 'BindingSource.Filter'を正しく動作させることができませんでした。 – user807566

答えて

1

バインディングソースのSupportsFilteringとは何ですか?
LINQは動的なクエリをサポートしていないため、falseだと思います。

どうして動的クエリが必要なのですか? LINQは、すべての型の安全性についてです、あなたが本当に使用する必要があり、その内蔵のWhereによるフィルタリング:

var query = db.Customers.Where(x => x.VesID == "ABC"); 
grid.DataSource = query; 

あなたが本当に、持っている(まれケースである)、文字列のフィルタ条件を指定する必要性を行う場合2つの図書館を見る:PredicateBuilderDynamic LINQ

+0

確かに! - SupportsFilteringが 'false'だった - これらのプロパティが存在していたことを認識していなかった。... SupportsSearching、SupportsSorting ... - チップのおかげで、あなたの権利、それはおそらくフィルタリングのためにLing –

関連する問題