Evénement DataGridView à intercepter lorsque la valeur de cellule a été modifiée par l’utilisateur

J’ai une application Winforms écrite en C #.

Dans l’un de mes DataGridViews, j’ai défini toutes les colonnes sauf une appelée “Référence” à ReadOnly = true;

Je souhaite que l’application sache à quel moment un utilisateur a modifié quelque chose dans la colonne “Référence”, mais tous les événements que j’ai essayés jusqu’à présent se déclenchent beaucoup plus que lorsqu’un utilisateur a apporté des modifications. Par exemple, CurrentCellChanged est déclenché lorsque le DataGridView est initialement rendu et chaque fois que l’utilisateur clique ou clique sur les rangées, etc.

Je ne suis intéressé que par la capture des modifications apscopes aux utilisateurs dans les données de la colonne “Référence”, qui est la seule colonne où ReadOnly = false;

Quel est le meilleur événement à utiliser pour cela?

CellValueChanged est ce dont vous avez besoin:

 private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e){ if(dataGridView1.Columns[e.ColumnIndex].Name == "Reference"){ //your code goes here } } 

Je pense que l’événement CellEndEdit est également adapté à vos besoins:

 private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e){ if(dataGridView1.Columns[e.ColumnIndex].Name == "Reference"){ //your code goes here } } 

DataGridView.CurrentCellDirtyStateChanged