[ASP2] Forcer un gridview à se mettre à jour ? [Résolu]

smoitry 69 Messages postés vendredi 27 décembre 2002Date d'inscription 26 juillet 2007 Dernière intervention - 10 mai 2006 à 10:48 - Dernière réponse : io_ost 151 Messages postés mercredi 1 février 2006Date d'inscription 6 février 2009 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
io_ost 151 Messages postés mercredi 1 février 2006Date d'inscription 6 février 2009 Dernière intervention - 10 mai 2006 à 11:01
3
Merci
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....

Merci io_ost 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de io_ost
smoitry 69 Messages postés vendredi 27 décembre 2002Date d'inscription 26 juillet 2007 Dernière intervention - 10 mai 2006 à 11:20
0
Merci
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
Commenter la réponse de smoitry
io_ost 151 Messages postés mercredi 1 février 2006Date d'inscription 6 février 2009 Dernière intervention - 10 mai 2006 à 11:35
0
Merci
on est tous là pour ça

bon dev... @bientôt

matt
Commenter la réponse de io_ost

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.