【VB.NET】データグリッドビューで行毎のチェックボックスにイベントを仕込む
おはようございます。
今回は、データグリッドに配置したチェックボックス列にイベントを仕込みたいと思います。
プログラムは前回のものを流用。
プログラムの修正
新規イベントの追加
データグリッドビューの現在のセル状態が変更された際のイベントを追加します。

Form1.vb
1 2 3 4 5 6 7 8 9 10 11 12 | ''' <summary> ''' データグリッドビューの現在のセル状態が変更された際のイベント ''' </summary> ''' <param name="sender"></param> ''' <param name="e"></param> PrivateSubdgv_CurrentCellDirtyStateChanged(sender AsObject,eAsEventArgs)Handlesdgv.CurrentCellDirtyStateChanged ' 対象のセルを判定 If dgv.CurrentCellAddress.X=0AndAlsodgv.IsCurrentCellDirty Then ' 変更を確定する dgv.CommitEdit(DataGridViewDataErrorContexts.Commit) EndIf EndSub |
データグリッドビューのセル値が変更された際のイベントを追加

Form1.vb
1 2 3 4 5 6 7 8 9 10 11 12 13 | ''' <summary> ''' データグリッドビューのセル値が変更(が確定)された際のイベント ''' </summary> ''' <param name="sender"></param> ''' <param name="e"></param> PrivateSubdgv_CellValueChanged(sender AsObject,eAsDataGridViewCellEventArgs)Handlesdgv.CellValueChanged If(TypeOfdgv(e.ColumnIndex,e.RowIndex)Is DataGridViewCheckBoxCell)Then Dimchk AsDataGridViewCheckBoxCell=dgv(e.ColumnIndex,e.RowIndex) MessageBox.Show(e.RowIndex+1&"行目のチェックボックス値:"&chk.Value) EndIf EndSub |
データグリッドビューのセルがクリック(マウスダウン)された際のイベントを追加

Form1.vb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | ''' <summary> ''' データグリッドビューのセルをクリック(マウスダウン)した際のイベント ''' </summary> ''' <param name="sender"></param> ''' <param name="e"></param> PrivateSubdgv_CellMouseDown(sender AsObject,eAsDataGridViewCellMouseEventArgs)Handlesdgv.CellMouseDown If(TypeOfdgv(e.ColumnIndex,e.RowIndex)Is DataGridViewCheckBoxCell)Then Dimcell AsDataGridViewCheckBoxCell=dgv(e.ColumnIndex,e.RowIndex) cell.Value=If(cell.Value=False,True,False) ' 変更を確定する dgv.CommitEdit(DataGridViewDataErrorContexts.Commit) dgv.EndEdit() EndIf EndSub |
起動してみる


無事に処理できましたね。
まとめ
次回は、チェックされた行の背景色を変更してみたいと思います。
【VB.NET】データグリッドビューでチェックされた行の背景色を変更する
ではでは。
ディスカッション
コメント一覧
まだ、コメントがありません