現在DataGridViewのチェックボックスの状態で難儀しております。 DataGridViewのチェックボックス操作に、 CurrentCellDirtyStateChangedで未コミット分の判定を行い、 コミットしてからCellValueChangedで値をとる一般的な手法を用いております。 チェックボックスを単純にTrue/Falseして入力制御したりする分にはこれで問題ないです。 しかしながら、Falseした際に、他の入力セルが変更されていた場合に、 「変更内容が消えるがよろしいか?」といった内容のダイアログを出し、 場合によってはチェックボックスの値を元に戻すということを実現したいと思います。 そこでダイアログで「いいえ」を選択された場合に、 チェックボックスのValueをTrueに戻し、 発生したイベントは別に持たせたフラグでスルーするようにしましたが、 Valueは確かにTrueなのですが、表示上がFalseのままであり、 タブ移動して初めて表示上が変わる状態になってしまっています。 そこでグリッドの表面上のリフレッシュ等が必要かと思いましたが、 方法が思い浮かばず途方に暮れています。 どなたか知恵をお貸しください。
↧