Bonjour,
Je suis confronté au problème suivant. J'ai un DataGridView (lié à une base de données) avec une DataGridViewCheckBoxColumn, des colonnes texte classiques et pour finir un DataGridViewButtonColumn.
En fonction de l'état de la case à cocher d'une ligne, le bouton exécute le code associé ou non. Sur l'événement CellClick, j'utilise le code suivant
Je ne comprends pas pourquoi la valeur associée à la cellule case à cocher me renvoie toujours true, car après tout, une fois que je "valide", la base de données qui est derrière est bien mise à jour (le champ associé à la case à cocher voit bien sa valeur changer).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 private void dgDomaine_CellClick(object sender, DataGridViewCellEventArgs e) { DataGridViewCell cell = this.dgDomaine[e.ColumnIndex, e.RowIndex]; if (cell is DataGridViewButtonCell) { if (!cell.ReadOnly) { ... } } else { if (cell is DataGridViewCheckBoxCell) { bool checkedCell = (bool) cell.Value; // à ce stade, checkedCell vaut toujours true // que la case soit cochée ou décochée row.Cells["button"].ReadOnly = !checkedCell; } } }
Si quelqu'un à déjà rencontré ce problème, qu'il me fasse part de son expérience
Merci.
Partager