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)
Merci par avance de vos lumières !
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; }
Partager