bonjour,
j'utilise cette syntaxe :
quand je debugue, je trouve gridviewShoppingCart.Rows[1].Cells[1].Text est null, mais la gridview a plus de 10 lignes.Code:
1
2 Label2.Text = gridviewShoppingCart.Rows[1].Cells[1].Text;
Version imprimable
bonjour,
j'utilise cette syntaxe :
quand je debugue, je trouve gridviewShoppingCart.Rows[1].Cells[1].Text est null, mais la gridview a plus de 10 lignes.Code:
1
2 Label2.Text = gridviewShoppingCart.Rows[1].Cells[1].Text;
Bonjour, à quel moment tu fais cette affectation ? vérifie bien que le gridview est bien remplie lors de l'affectation, car normalement ce code doit marcher
le code est dans un button, et le gridview se remplie en page load, c'est a dire ce code est apres le remplissement de la gridview mais toujours la meme chose.
Tu pourrais nous montrer un peu plus de code ?
voila le code qui remplie la gridview :
a la ligne : gridviewShoppingCart.DataBind();Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 carola.Common.ShoppingCart shoppingcart = new carola.Common.ShoppingCart(); shoppingcart.CartGUID = CartGUID; ProcessGetShoppingCart processgetcart = new ProcessGetShoppingCart(); processgetcart.ShoppingCart = shoppingcart; try { processgetcart.Invoke(); gridviewShoppingCart.DataSource = processgetcart.ResultSet; gridviewShoppingCart.DataBind(); } catch { Response.Redirect("ErrorPage.aspx"); }
la gridview est bien remplie.
C'est probablement un problème avec le cycle de vie de ta page.
Il faut montrer tout le code (pageLoad et buttonClick) pour qu'on puisse en dire plus
Vérifie si ta grille est toujours charger au début de la procédure du clic
page load :
le button :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 if (!IsPostBack) { carola.Common.ShoppingCart shoppingcart = new carola.Common.ShoppingCart(); shoppingcart.CartGUID = CartGUID; ProcessGetShoppingCart processgetcart = new ProcessGetShoppingCart(); processgetcart.ShoppingCart = shoppingcart; try { processgetcart.Invoke(); gridviewShoppingCart.DataSource = processgetcart.ResultSet; gridviewShoppingCart.DataBind(); } catch { Response.Redirect("ErrorPage.aspx"); } }
Code:
1
2 Label2.Text = gridviewShoppingCart.Rows[1].Cells[1].Text ;
Le bouton déclenche un postback, donc a priori ta grille n'est plus remplie quand tu arrives sur ton bouton. Vérifie si ta grille à des données...
comment je peux verifier si la grille a des donnee ou non au moment du postback du button ?
Tu mets un point d'arrêt sur la première ligne de ton évènement bouton. Puis tu explore l'objet gridviewShoppingCart (nombre de lignes, etc.)
je mets le point d'arret.
il me donne :
mais comment je vais reparer ce probleme de merde !!Code:
1
2 gridviewShoppingCart.Rows[1].Cells[1].Text="";
c'est bizzarre car
maisCode:gridviewShoppingCart.rows.count = 5
Code:gridviewShoppingCart.Rows[i - 1].Cells[1].Text = "";
Regarde si tu n'as pas des contrôles dans ton gridviewShoppingCart.Rows[1].Cells[1]