2009-03-04 18 views
0

BindingSourcesとTableAdapatersを使用して、2つのDataGridViewを基になるDataSourceにバインドしました。BindingSourceとDataGridViewの

私には2つのモデルがあります。文字列と表。 テーブル - > [id、handle、description] 文字列 - > [id、handle、table_id]

テーブルとストリングの間に多対1があります。

"テーブル" DataGridViewを選択して、 "文字列" DataGridViewの内容をフィルタリングする最も簡単な方法は何ですか?

私は "文字列"のデータソースを理解しています。DataGridViewは "テーブル" DataGridViewのバインディングソースに設定できますが、これは複数の選択をサポートしていません。

現在、「テーブル」DataGridViewの選択が変更されたとき、選択した行を反復処理し、「文字列」DataGridViewの文字列ベースのフィルタを構築していますが、これは遅く、乱雑です。

誰かがより良い方法を知っていますか?

答えて

1

遅くなっているコードでは、その他の問題が発生することがあります。

これは面倒ですが、私は通常、DataGridView上の要素のリストを拡張メソッドに簡単に取得できるコードを移動します。ビルトイン/シンプルは1つの選択用です。

0

テーブルごとに2つの異なるBindingSourceを使用できます。または、BindingSourceをまったく使用せずに、データだけで最初のテーブルを埋めることもできます。次に、DataGridViewのSelectionChangedイベントに反応して、テーブル2のBindingSourceでフィルタを設定します。

新しい方法を自分で見つけることができますか?

関連する問題