2011-01-29 7 views
0

私は、ドロップダウンリストに「アクティブな」オブジェクトのみが含まれている状況があります。しかし、これは現在のコンボボックスの値がリストにあることを意味するものではありません(オブジェクトがアクティブだったが、アクティブでなくなった時点で選択されています)。どうすればいいですか?datagridviewcomboboxの値がdatagridviewcomboboxcolumnデータソースにない場合は、

今のところ、例外がスローされました。私はdatagridviewのdataerrorハンドラで、値がリストにないと思います。

私が行う必要があるのは、各datagridview行にデータが読み込まれたときに発生するイベントを見つけることです。そのため、コンボボックスの値がコンボボックスのデータソースにあるかどうかを確認できます。それが私が見ることができる唯一の解決策です。しかし、問題は、どのイベントハンドラをこのために使用すべきですか?

このチェックを一般化して、datagridviewを継承したクラスに入れたいと思っています。このように、私はこの問題について再び心配する必要はありません。

アイデア?

アイザック

答えて

1

あなたはDataBindingCompleteイベントを試みることができます。その他のオプションは、DataMemberChangedDataSourceChangedです。

いくつかのコードを見ることなく、どのイベントが最も適切かを判断するのは少し難しいです。

+0

最初のカップルのことに慣れていないので、私はそれらを試してみましょう。 –

+0

私はちょうどそれがコンボボックスだったかどうかを見るためにdatasourcechangedの後に各セルをチェックしました。それがあった場合、私はそのvaluememberを取って、それをデータソースリストに対してチェックしました。それがそこになかったら、私はそれを加えました。この追加は、時間のニックネームで行われたように見えました。スローされたデータエラーはありませんでした。ありがとうアンナ! –

+1

@IsaacBまた、最初にどの列が 'DataGridViewComboBoxColumn'であるかを判断し、それらの列のセルのみをチェックすることで、いくつかのセルを削除することができます。 –

関連する問題