Gridview

verbeyst Messages postés 77 Date d'inscription mardi 10 mars 2009 Statut Membre Dernière intervention 15 février 2011 - 23 févr. 2009 à 15:24
verbeyst Messages postés 77 Date d'inscription mardi 10 mars 2009 Statut Membre Dernière intervention 15 février 2011 - 25 févr. 2009 à 09:45
Bonjour,

Quelqu"un pourrait m'expliquer comment récupérer un champ caché d'un gridview dans un autre contrôle par exemple un label. J'ai envie de récupérer la valeur d'un champ (caché) d'une gridview dans un cont^rle, je n'y arrive pas et ça m'énerve puisque ça paraît plutôt simple comme tout.

J'essaie le bout de code ci-après, il m'affiche un message erreur ....

LblMedecin.Text = GridViewMedecins.Rows[0].Cells[2].Text;

Lorsque je lui demande de m'afficher le nombre de rows, il m'affiche 0 alors que je vois des dizaines de lignes
LblMedecin.Text= GridViewMedecins.Rows.Count.ToString();

Ai-je brûlé une étape?? Que dois-je faire???HEEELP

verbeyst

4 réponses

RougailSaucisse Messages postés 118 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 6 décembre 2010 1
23 févr. 2009 à 21:07
A quel moment de ton code fait tu l'appel a ton rowcount?
Si tu le fais avant que les données ne soient "bound" à ta gridview alors forcément il va te retourner 0, et forcément tu aura une erreur en essayant d'accéder à des lignes qui ne sont pas encore créées.
Renseigne toi bien sur le cycle de vie ASP.Net, c'est primodial pour comprendre qu'est ce qui est appelé avant quoi, et ainsi comprendre tes erreurs de pourquoi tu as des valeurs qui "disparaissent" ou qui ne sont pas encore accessible ou qui ne renvoient ce qui est attendu comme ici.
0
verbeyst Messages postés 77 Date d'inscription mardi 10 mars 2009 Statut Membre Dernière intervention 15 février 2011
24 févr. 2009 à 09:59
LblMedecin.Text= GridViewMedecins.Rows.Count.ToString();

Je place ce code  dans le gestionnaire d'événement monGridView_Databound(...)

Je lui dit une fois que les datas sont bound, compte moi les rows  ce qui à priori  me paraît logique, mais il plante...
Où dois-je placer ce code???

verbeyst
0
RougailSaucisse Messages postés 118 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 6 décembre 2010 1
24 févr. 2009 à 21:20
oui c'est tout a fait logique et ca devrait fonctionner.
Je viens de faire un test d'ailleurs et il me renvoie bien le nombre de lignes (affichées pas le nombre d'enregistrements sous-jacent bien sur) de la gridview.
Dans mon cas j'ai 2 enregistrments dans ma gridview et j'ai bien mis un gridview1.rows.count dans le databound et cela m'affiche bien 2.
De même en faisant un gridview1.rows[1].cells[0] par exemple, il me retourne bien le ontenu de ma cellule.
Pourrait-on voir ton code ca aidera ptet a comprendre d'ou vient ton erreur car la comme ca, ca me semble correct.
0
verbeyst Messages postés 77 Date d'inscription mardi 10 mars 2009 Statut Membre Dernière intervention 15 février 2011
25 févr. 2009 à 09:45
J'ai trouvé la solution.
 Au fait mon problème comportait un autre volet, à savoir récupérer le contenu d'un champ caché du gridview. Et  j'ai trouvé la solution, note que ta réaction m'avait déjà mis sur les rails  dans le sens où il fallait  avant tout   "placer le code de récupération au bon endroit".
Quant à l'autre volet, j'ai dû jongler avec le fichier css et voilà, le tour est joué après deux jours et demi et deux nuits (prèsque blanches) de "déprime"...Parfois je me demande pourquoi j'ai choisi ce métier..déprimant...(ça c'est une autre histoire...qui ne relève certainement pas de tes compétences...oups!! pardon je pousse le bouchon ...loin)

Merci

verbeyst
0
Rejoignez-nous