プロが教えるわが家の防犯対策術!

VB.NETのDataGridViewについて質問です。

セル編集完了後に、編集した値が不正であるならその値をセル編集前に戻すというプログラムを作成しています。
しかし、現在値を正常に戻すことが出来ずに困っています。

現在は下記のように作成しています。

(1)CellBeginEditイベントを使用して、セル編集前の段階の値を「cellItem」変数に保存する
(2)CellParsingイベントを使用して、保存した値で復元する。

(2)の段階で、下記の「cellItem」変数には値が入っているにも関わらず、セルに値が登録されていません。

尚、ボタンクリックイベント等で
dgv.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = cellItem
を行うと、正常に値が登録されました。

セル編集完了後に値を戻すにはどのようにすれば良いのでしょうか?
お分かりになる方がいらっしゃいましたら宜しくお願いします

'セル編集開始前
Private Sub dgv_CellBeginEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles dgv.CellBeginEdit

cellItem = dgv.Rows(e.RowIndex).Cells(e.ColumnIndex).Value

End Sub

'セル編集完了後
Private Sub dgv_CellParsing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellParsingEventArgs) Handles dgv.CellParsing

dgv.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = cellItem

End Sub

A 回答 (1件)

CellValidated でなら書き換えられるみたいですよ。

    • good
    • 0
この回答へのお礼

出来ました
予想外に簡単にできて少し驚きました
ありがとうございました

お礼日時:2007/12/05 09:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A