[ASP2] Forcer un gridview à se mettre à jour ?

Résolu
smoitry Messages postés 69 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 26 juillet 2007 - 10 mai 2006 à 10:48
io_ost Messages postés 151 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 6 février 2009 - 10 mai 2006 à 11:35
Bonjour à tous !

Devant le succès de ma dernière question sur les webcontrols (aucune réponse), je reposterai une question plus générique ...

Mais ici, j'ai un problème : j'ai suivi un tuto par Dino Esposito sur les GridView, DetailsView et FormView. A première vue, c'est génial ! Mais y'a comme un bug ...

Dans une page, j'ai un SqlDataSource qui obtient la liste des enregistrements, et un GridView lié à lui. Jusque là, aucun problème.

J'ai ensuite un SqlDataSource qui filtre sur la ligne sélectionnée dans le gridview, et un DetailsView lié à lui. J'ai activé le AutoGenerateEditButton et mis la commande Update qui va bien dans le DataSource. Jusque là, encore aucun problème.

Pour finir, un troisième SqlDataSource identique au deuxième, avec un autre nom bien sûr, et un FormView lié à lui. J'ai implémenté les templates et tout, pareil, aucun soucis.

C'est plus subtil : je passe en mode édition dans le contrôle FormView, je modifie un champ, et j'update (je submit, quoi). Les informations sont mises à jour dans la base, et le contrôle FormView revient en mode affichage avec les informations à jour. Par contre le DetailsView et le GridView affichent toujours l'ancienne version (probablement récupérées du ViewState, me gourre-je ?)

Si je sélectionne une autre ligne dans le GridView, puis reviens sur celle que j'ai édité, le DetailsView affiche alors bien la nouvelle version, mais le GridView n'est toujours pas à jour. Si je change de page sur le GridView puis reviens sur la précédente, cette fois le GridView est à jour ... Mais, c'est pas pratique !!! Comment forcer le GridView à se mettre à jour après avoir édité les infos dans le DetailsView ou le FormView ?

J'ai tenté d'activer le cache du SqlDataSource du gridview, et d'activer le SqlCacheDependency, mais le comportement reste identique ... Que faire ?

A+

Stéph.

3 réponses

io_ost Messages postés 151 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 6 février 2009
10 mai 2006 à 11:01
Protected
Sub DetailsView1_ItemUpdated(
ByVal sender
As
Object,
ByVal e
As System.Web.UI.WebControls.DetailsViewUpdatedEventArgs)
Handles DetailsView1.ItemUpdated

gridview1.databind()



End
Sub

ou inversement ou autre chose....
3
smoitry Messages postés 69 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 26 juillet 2007
10 mai 2006 à 11:20
Hello !

Hum, où qu'il est le smiley qui se tape sur la tête avec un marteau ?

Bon ben mille mercis pour cette réponse rapide et qui fait exactement ce que je voulais !!! Pourquoi j'y ais-je pas pensé ?

A+

Stéph
0
io_ost Messages postés 151 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 6 février 2009
10 mai 2006 à 11:35
on est tous là pour ça

bon dev... @bientôt

matt
0
Rejoignez-nous