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
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;
        }
    }            
}
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).

Si quelqu'un à déjà rencontré ce problème, qu'il me fasse part de son expérience

Merci.