Procédure : exécuter une action personnalisée en fonction des modifications apportées à une cellule d’un contrôle DataGridView Windows Forms
Le DataGridView contrôle comporte un certain nombre d’événements que vous pouvez utiliser pour détecter les modifications dans l’état des DataGridView cellules. Deux des événements les plus couramment utilisés sont les événements et CellStateChanged les CellValueChanged événements.
Pour détecter les modifications apportées aux valeurs des cellules DataGridView
Écrivez un gestionnaire pour l’événement CellValueChanged .
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { string msg = String.Format( "Cell at row {0}, column {1} value changed", e.RowIndex, e.ColumnIndex); MessageBox.Show(msg, "Cell Value Changed"); }
Private Sub dataGridView1_CellValueChanged(ByVal sender As Object, _ ByVal e As DataGridViewCellEventArgs) _ Handles dataGridView1.CellValueChanged Dim msg As String = String.Format( _ "Cell at row {0}, column {1} value changed", _ e.RowIndex, e.ColumnIndex) MessageBox.Show(msg, "Cell Value Changed") End Sub
Pour détecter les modifications dans les états des cellules DataGridView
Écrivez un gestionnaire pour l’événement CellStateChanged .
private void dataGridView1_CellStateChanged(object sender, DataGridViewCellStateChangedEventArgs e) { DataGridViewElementStates state = e.StateChanged; string msg = String.Format("Row {0}, Column {1}, {2}", e.Cell.RowIndex, e.Cell.ColumnIndex, e.StateChanged); MessageBox.Show(msg, "Cell State Changed"); }
Private Sub dataGridView1_CellStateChanged(ByVal sender As Object, _ ByVal e As DataGridViewCellStateChangedEventArgs) _ Handles dataGridView1.CellStateChanged Dim state As DataGridViewElementStates = e.StateChanged Dim msg As String = String.Format( _ "Row {0}, Column {1}, {2}", _ e.Cell.RowIndex, e.Cell.ColumnIndex, e.StateChanged) MessageBox.Show(msg, "Cell State Changed") End Sub
Compilation du code
Cet exemple nécessite :
un contrôle DataGridView nommé
dataGridView1
; Pour C#, les gestionnaires d’événements doivent être connectés aux événements correspondants.des références aux assemblys System et System.Windows.Forms.