Bonjour,
J'aurais besoin de bloquer une cellule dans mon GridView si la ligne est en édition mais qu'elle puisse être saisi dans le cas d'ajout d'une ligne.
J'ai donc passer toute la colonne en readonly
Code : Sélectionner tout - Visualiser dans une fenêtre à part
dataGridView1.Columns[0].ReadOnly = true;
Et je la débloque dans le cas où c'est un ajout (j'ai testé de débloquer seulement la cellule mais cela ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
private void dataGridView1_UserAddedRow(object sender, DataGridViewRowEventArgs e)
        {
            e.Row.DataGridView.Columns[0].ReadOnly = false;
        }
Je bloque donc à nouveau ma colonne en sortant de ma nouvelle ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 private void dataGridView1_RowLeave(object sender, DataGridViewCellEventArgs e)
        {
            dataGridView1.Columns[0].ReadOnly = true;
        }
Mais l'événement UserAddedRow se déclenche quand j'ai commencé à saisir une nouvelle ligne. Donc cela fonctionne si je commence par saisir du texte dans mon 2ème champ.
Mais je ne peux pas changer l'ordre et la logique veut que l'utilisateur saisisse d'abord ce que j'ai mis en 1er champ.

Quel événement puis-je utiliser pour débloquer ma cellule dès que je rentre sur ma ligne?
Dans l’événement RowEnter, je n'arrive pas à savoir si je suis en édition ou ajout.

Merci d'avance