2011-08-03 7 views
0

私はチェックボックス列のヘッダーの内側にチェックボックスを作っています。それは私がそれをチェックするときにうまく動作しますDataGridViewのすべての行がチェックされます。私がしたいのは、DataGridViewの単一の行がチェックされていないときに、ヘッダーセルのチェックボックスをオフにすることです。ヘッダーチェックボックスの状態を設定するCellValueChangedイベントにコードを入れてみました。現在のセルがフォーカスを失うと、CellValueChangedが発生するという問題があります。したがって、セル内で2〜3回クリックすると何も起こりませんが、e次のセルを選択するとイベントが発生し、ヘッダーセルのチェックボックスの状態が無効になります。DataGridViewのCheckboxColumnヘッダーのチェックボックスは、行と同期しますか?

答えて

0

試したCurrentCellDirtyStateChangedイベント?

+0

はいこれを使用しようとしましたが、このイベントが発生したときにセルの新しい値がまだ設定されていません。したがって、セルには古い値があり、新しい値が現在の値の反対であると推定する必要があります。しかし、私はどこcell_validatingまたはセルのcell_endedit値が変更されるフォームを持っています。 – IordanTanev

4

CurrentCellDirtyStateChangedイベントでは、DataGridviewのCommitEdit(DataGridViewErrorContexts.Commit)メソッドを呼び出します。 セル値をコミットし、対応するセルのCellValueChangedイベントをトリガします。

関連する問題