I tiene un control DataGridView en una aplicación .NET que contiene una columna casilla de verificación. Me gustaría que el usuario pueda editar las casillas de verificación. El problema al que me estoy enfrentando es que no puedo detectar el estado de la casilla después de que el usuario la comprueba.Edición detección de estado casilla de verificación en DataGridView
Si la casilla de verificación se comprobó inicialmente, luego volverá comprobado en cuanto el DataGridViewCheckBoxCell obtiene foco. Pero, si vuelvo a hacer clic en la casilla y la deselecciono, aún así se devuelve marcado. A partir de ese punto, siempre volverá marcado independientemente del estado real de la casilla de verificación hasta que pierda el foco y lo vuelva a ganar.
Del mismo modo, si la casilla de verificación no estaba marcada originalmente, cuando obtiene el foco volverá sin marcar en el evento click sin importar cuál sea el estado de la casilla de verificación.
Aquí está mi código.
Private Sub grdTemplates_CellContentClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdTemplates.CellContentClick
Dim strValue As String = ""
Try
If Me.grdTemplates.Columns(e.ColumnIndex).Name = "colCurrentTemplate" Then
'The user clicked on the checkbox column
strValue = Me.grdTemplates.Item(e.ColumnIndex, e.RowIndex).Value
'THIS VALUE NEVER CHANGES WHILE THE DataGridViewCheckBoxCell HAS FOCUS
Me.lblTemplates.Text = strValue
End If
Catch ex As Exception
HandleError(ex.ToString)
End Try
End Sub
Gracias de antemano,
Mike