Comment : exécuter une action personnalisée basée sur les modifications apportées dans une cellule d'un contrôle DataGridView Windows Form
Le contrôle DataGridView a plusieurs événements que vous pouvez utiliser pour détecter des modifications dans l'état des cellules DataGridView. Deux événements parmi les plus communément utilisés sont CellValueChanged et CellStateChanged.
Pour détecter des modifications dans les valeurs des cellules DataGridView
Ajoutez un gestionnaire pour l'événement CellValueChanged.
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
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"); }
Pour détecter des modifications dans les états des cellules DataGridView
Ajoutez un gestionnaire pour l'événement CellStateChanged.
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
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"); }
Compilation du code
Cet exemple nécessite les éléments suivants :
Un contrôle DataGridView nommé dataGridView1. Pour C#, les gestionnaires d'événements doivent être connectés aux événements correspondants.
Références aux assemblys System et System.Windows.Forms.
Voir aussi
Tâches
Procédure pas à pas : validation des données dans le contrôle DataGridView Windows Forms
Référence
Autres ressources
Programmation avec les cellules, lignes et colonnes dans le contrôle DataGridView Windows Forms