Bonjour a tous,
J'ai un problème sur une GridView dans un usercontrol :
Ma gridView possede 4 colonne, une colonne de texte, et 3 colonnes de Checkbox.
--------------------------------------------------------------
Libelle | Demander | Fournie | Manquant |
--------------------------------------------------------------
Mon libellé 1 | checkbox | checkbox | checkbox |
Mon libellé 2 | checkbox | checkbox | checkbox |
Mon libellé 3 | checkbox | checkbox | checkbox |
Mon libellé 4 | checkbox | checkbox | checkbox |
Mon libellé 5 | checkbox | checkbox | checkbox |

J'ai un bouton valider qui parcours les lignes de la gridview et qui me génère un enregistrement du type "[idLigne-Demander:True-Fournie:False-Manquant:True]" pour chaque ligne.

"Demander:True" signifie que la cellule 1 de la ligne en cours est cochée.
"Fournie:True" signifie que la cellule 2 de la ligne en cours est cochée.
"Manquant:True" signifie que la cellule 1 de la ligne en cours est cochée.

Lors de la génération, je récupère bien les valeurs pour les cellules 1 et 2 mais pas pour la colonne 3.
Ce qui est étrange, c'est que parfois il me retourne bien la bonne valeur.

Voici le code qui parcours la gridView :
(ici Label1 est dans la cellule 3 pour récupérer l'identifiant de mon enregistrement)
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
23
24
25
26
 
public string getValues()
    {
        string temp = "";
        for (int x = 0; x < GridView1.Rows.Count; x++)
        {
            GridViewRow r = GridView1.Rows[x];
            TableCell c1 = r.Cells[1];
            TableCell c2 = r.Cells[2];
            TableCell c3 = r.Cells[3];
 
            CheckBox cb1 = ((CheckBox)c1.FindControl("Checkbox1"));
            CheckBox cb2 = ((CheckBox)c2.FindControl("Checkbox2"));
            CheckBox cb3 = ((CheckBox)c3.FindControl("Checkbox3"));
 
            string id = ((Label)c3.FindControl("Label1")).Text;
 
            Boolean De = cb1.Checked;
            Boolean Fo = cb2.Checked;
            Boolean Mq = cb3.Checked;
 
            if(De || Fo || Mq)
                temp += "["+id+"-Demander:"+De+"-Fournie:"+Fo+"-Manquant:"+Mq+"]";
        }
        return temp;
    }
Merci par avance de vos lumières !