Bueno aca te dejo un ejemplo de como agregar una checkbox en la columna de la grilla
Código vb.net:
Ver original' Antes de llenar la Grilla poner este codigo
DataGridGrupo.Columns.Clear()
Dim Obj as new DataGridViewColumn
Dim Col as new DataGridViewCheckBoxColumn
Obj = Col
Obj.HeaderText="Estado" ' el texto que ira en la cabecera
Obj.Name = "Estado" ' Nombre de la Columna de la Grilla
Obj.Width = 50
DataGridGrupo.Columns.add(Obj)
DataGridGrupo.Columns(DataGridGrupo.Columns.Count - 1).DisplayIndex = 0 ' Es para que la columna sea la primera en la grilla
' Luego esta propiedad para la grilla
DataGridGrupo.ReadOnly = false ' Esto para que toda la grilla sea editable
DataGridGrupo.DataSource = Nothing ' al inicio no va ningun enlaze de datos
' Aqui va tu codigo del load
'''
'''
'''
'al final de ese codigo del load hacer este for
' Este for es para que solo sea editable el checkbox de la grilla es decir poder hacerle click
For Col As Integer = 0 To DataGridGrupo.Columns.Count - 1
If Not Col = 0 Then
DataGridGrupo.Columns(Col).ReadOnly = True
End If
Next
' Ojo este codigo debe ir para que te funcione al hacer click en el checkbox de la grilla
Private Sub DataGridGrupo_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridGrupo.CellContentClick
If e.RowIndex < 0 Or Not e.ColumnIndex = 0 Then Exit Sub
If Convert.ToBoolean(DataGridGrupo.Rows(e.RowIndex).Cells(0).Value) Then
DataGridGrupo.Rows(e.RowIndex).Cells(0).Value = False
Else
DataGridGrupo.Rows(e.RowIndex).Cells(0).Value = True
End If
End Sub
' el problema consiste en que si no pongo este codigo al hacer click en un checkbox de la grilla este no cambiara a true hasta que otro checkbox sea clickeado o se haga click en la celda de la grilla