Gridview ne se met pas à jour

Signaler
Messages postés
23
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
2 avril 2008
-
Messages postés
23
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
2 avril 2008
-
J'ai encore un problème avec mon satané gridview !!!
Quand je clique sur mon bouton "Recherche", je calcule un fichier XML (différent selon si les critères remplis dans mes textbox sont différents) et j'affiche ce XML dans mon gridview.
Problème : mon gridview ne se met pas toujours à jour !! des fois, il garde ses anciennes données comme si je n'avais pas recalculé mon XML.
Ca a deja fait ca a quelqu'un ??

12 réponses

Messages postés
23
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
2 avril 2008

oups je me suis trompé de forum
Messages postés
21
Date d'inscription
mardi 22 mars 2005
Statut
Membre
Dernière intervention
5 septembre 2007

salut Mezthium,

je voudrais savoir si tu as trouvé une solution à ton problème car j'ai aussi le même souci

merci d'avance,
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
Es-tu sûr que ton fichier xml a bien été sauvegardé avec les nouvelles données??

<hr />
@+  
Messages postés
23
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
2 avril 2008

oui oui ..
J ecris mon flux XML dans un fichier pour tester, et bien qu'il change à chaque fois mon gridview ne se met pas à jour.
J ai supprimé certains objets à la main :

Code de mon bouton Recherche :
[...]

XmlDataSource xds =
new
XmlDataSource();xds.Data = FluxXML.OuterXml; // FluxXML est le xml renvoyé par mon web service

GridView1.DataSource = xds;

GridView1.DataBind();
xds null;GridView1.DataSource

null;

Du coup maintenant mon gridview se recharge quelquefois (avant c'etait jamais !! il fallait que je ferme visual studio) mais pas toujours ...
il y'a des fois ou je dois cliquer 6 ou 7 fois sur mon bouton "Recherche" pour que le gridview veuille enfin se mettre à jour ...
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
Si tu places un espion sur la ligne xds.Data = FluxXML.OuterXml;

as-tu les bonnes données dans FluxXML.OuterXml?

Ton problème est sûrementlié au temps de réponse de ton webservice...
<hr />
@+  
Messages postés
23
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
2 avril 2008

oui,juste avant de faire le binding , j'ai les bonnes données dans mon datasource !
c est pour ca que je comprend vraiment plus rien ..
misère!
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
Tu n'aurais pas un bout de code dans ton page_load qui affecte d'autres données à ton GridView?

<hr />
@+  
Messages postés
23
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
2 avril 2008

bon et bien quand j'abandonne la pagination et que j'affiche donc tout mes resultats sur la meme page.. ca marche très bien!
c est donc ma pagination qui a mis le bordel.
en tout cas, merci a toi d avoir essayé de m aider sur ce truc
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
Tu refais un DataBind lors de ta pagination, et lors du rechergement de ta page, l'évènement de pagination est appelé une nouvelle fois et dois recharger ton GrodView avec les mauvaises données....

Quel code utilises-tu dans ta pagination?

<hr />
@+  
Messages postés
23
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
2 avril 2008

En fait je voulais gérer la pagination (qui n'etait pas du tout mise en place) quand je me suis rendue compte de ce truc bizarre : le gridview qui se mettait a jour que quand il le voulait.
J'ai donc remis la pagination a plus tard, je voulais d'abord résoudre ca, mais j'ai laissé l'affichage d'une ligne/page dans mon gridview (et j'ai 3 lignes en tout).
Et en fait quand je remet l'affichage de 3lignes/page, mon gridview se met à jour bien comme il faut.
Je trouve ca un peu bizarre mais bon.
Donc maintenant, dans ma fonction GridView1_PageIndexChanging je fais un databind avec mon datasource que j'ai stocké dans une variable de session comme tu me l'a montré!
et tout marche nikel

merci !
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
Ok, donc il faut que tu mettes à jour ta variable de session avec ce que te renvois ton webservice, et ce, à chaque fois que tu fais une mise à jour de tes données.

<hr />
@+  
Messages postés
23
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
2 avril 2008

en tout cas, bien que ce soit le fait de ne pas gerer la pagination qui faisait tout foirer, il faut quand meme forcer la destruction de mon objet datasource à la fin de ma fonction (xds=null),  car apparemment cela ne se fait pas( ou mal) automatiquement.