2009-09-02 14 views
1

ダブルクリックで詳細フォームを開くDataGridViewのフォームがあります。
2番目のフォームを開くときに、同じDataSetインスタンスを親フォームとして使用するように設定しました。私は今、2番目のフォームが同じように同じDataRowを指していることを確認したい。
最初に、親フォームのBindingSourcePositionプロパティを送信し、詳細フォームのBindingSourceに同じプロパティを設定しました。私がDataGridViewのソートを始めるまで、これはうまくいきました - 親の位置がソートされた値を示し、すべての地獄が緩んでいます。
その後、実際のDataRow、さらには親BindingSourceDataRowViewオブジェクトを送信しようとしましたが、詳細はのFindメソッドを使用していますが、それらはすべて-1を返します。
インデックスや値にリレーできない場合、BindingSourceCurrentプロパティを設定するために使用できる他の方法はありますか? Filterメソッドを使用してフィルタクエリを動的に構築する必要があります(私はPKのために複数のプロパティを持っているので、ただFindを使うことはできません)?2つのBindingSourceを同期させる

+0

Findメソッドは、基になるリストが検索が実装されたIBindingListである場合にのみ使用できます。 –

答えて

2

BindingSourceのDataRowを反復処理して、選択したものを見つけることができます。

+0

ええ - 非常にシンプルなソリューションです。私は驚いていますが、2つのBindingSourcesをそのように同期させる簡単な方法はありません –

関連する問題