DataGridView RowValueChanged Event
Après avoir perdu une heure à jouer avec les Events d'un DataGridView pour simuler un RowValueChanged Event qui n'est pas disponible par défault, je vous fait par de ma "solution" pour vous épargner la même peine:
Ca combine 2 événements: CellValueChanged & RowValidating
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
Dim RowModified As Boolean = False
Private Sub DataGridView1_CellValueChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
RowModified = True 'Enregistre qu'une cellule, quelque part, est modifiée
End Sub
Private Sub DataGridView1_RowValidating(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles DataGridView1.RowValidating
If RowModified = True Then 'Si une cellule quelque part est modifié
'Code à éxécuter:
If LeChangementEstAccépté() Then
RowModified = False 'ré-initialise pour changer de row
Else
e.Cancel = True
End If
End If
End Sub |
Zebrette