views:

337

answers:

3

Using vb.net and DataGridView in Winforms. What even should I use to know when the checkbox has changed?

A: 

Is

DataGridViewCheckBoxCell.EditingCellValueChanged
what you want?

John at CashCommons
what is DataGridViewCheckBoxCell? Types as such gets an error.
bochur1
You have a DataGridViewCheckBoxColumn right? They have DataGridViewCheckBoxCell as the cell type: http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcheckboxcell.aspx
John at CashCommons
A: 

You need to set up an event handler to do work when a cell's contents have been changed. Then, based on the arguments passed, you can see if the checkbox was checked or unchecked, and do work accordingly.

    Private Sub myDataGrid_CellContentClick(ByVal sender As System.Object, _
    ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) _
    Handles myDataGrid.CellContentClick
         If myDataGrid.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = "True" Then
             'Checked condition'
         Else
             'Unchecked Condition'
         End If
    End Sub

Hope that helps!

David Hague
A: 
  1. Did you mean how do you know when the DataGridView changes? A DataGridView is not a checkbox.

  2. Add an event handler to handle a CellValueChanged event.

Private Sub MySubName(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged

End Sub

(replace MySubName with whatever you want, and DataGridView1 with the name of your DataGridView).

Fill in the body of the Sub to handle the event.

Larry Watanabe