2009-04-02 13 views
0

コンボボックス(DataGridViewComboBoxColumn)を含むDataGridViewがあります。このコンボボックスには、一連の設定値が入力されます。これらの設定値を無効にすると、アクティブな値のみがコンボボックスに表示されますが、非アクティブ値を使用する既存のエントリ(レコード)は引き続き表示する必要があります。DataGridViewComboBox - DataGridViewに 'InActive'値を表示

グリッド内のアイテムを正常にループすることができます。レコードが有効ではない値(DataGridViewComboBoxCellアイテムの一部)を持っている場合は、そのDataGridViewComboBoxCellのアイテムにレコードを追加するだけです。

問題:「DataGridViewComboBoxCell値は有効ではありません」私は恐ろしいが、取得しないようにこのコードを置く場所を見つけることができません

たとえば、このコードをDataGridViewのPaintイベントとグリッド関数に完全に入れることができます。値の編集/更新に問題はありません。また、表示に関して問題はありません(非アクティブ値は常に表示されます)。ただし、 'DataGridViewComboBoxCellの値は無効です。'がスローされます。エラー。

質問:私はコード(またはどのように)を追加することができます

「非アクティブ」値を追加するための積極的な値は、コンボボックス(DataGridViewComboBoxColumn)に追加されていますが、レコードの前にバインドされた後、このエラーを避けるには?

答えて

1

DataGridviewエラーをキャッチして何も処理しないのはどうですか?

void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e) 
{ 
    e.Cancel = true; 
} 

// Add code in user interface 
dataGridView1.DataError += 
    new DataGridViewDataErrorEventHandler(dataGridView1_DataError); 
関連する問題