Ho un controllo DataGridView in un'applicazione Net che contiene una colonna casella. Vorrei che l'utente fosse in grado di modificare le caselle di controllo. Il problema che sto incontrando è che non riesco a rilevare lo stato della casella dopo che l'utente lo controlla.emissione di rivelazione di stato casella in DataGridView
Se la casella è stata originariamente selezionata, poi tornerà controllato appena il DataGridViewCheckBoxCell ottiene concentrarsi. Ma, se faccio di nuovo clic sulla casella di controllo e deseleziono, restituisce ancora selezionata. Da quel momento in poi, verrà sempre restituito controllato indipendentemente dallo stato effettivo della casella di controllo fino a quando non perde lo stato attivo e lo riprende nuovamente.
Allo stesso modo, se la casella di spunta non era stata deselezionata in origine, quindi quando viene attivato, verrà deselezionata nell'evento click indipendentemente da quale sia effettivamente lo stato della casella di controllo.
Ecco il mio codice.
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
Grazie in anticipo,
Mike