Bonjour,
Je développe une application Web en ASP .NET 3.5.
J'ai une GridView insérée dans un UpdatePanel qui me sert à afficher des listes d'objets. La page contient également une combobox qui présente une liste de sites. Elle comporte également un gestionnaire de données que j'ai appelé data handler, et qui est responsable de lui fournir les listes d'objets servant de datasource à la GridView.
La GridView fonctionne correctement au chargement de la page, et lorsque j'ajoute ou supprime des objets.
Par contre, lorsque je change de site dans ma combobox, je met à jour ma liste d'objets avec de nouveaux objets (vérifié en debug), puis j'appelle une méthode servant à mettre à jour la datasource de la GridView :
Or après l'appel de cette méthode, je constate que bien que la datasource de la GridView ait changé, la grille affiche toujours les anciennes valeurs (et du coup, si je clique sur le bouton "Supprimer", elle tente de supprimer une valeur qui n'existe plus dans la liste d'objets, ce qui provoque un bug).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private void UpdateGridView(GridView gv, DataHandler t) { gv.DataSource = t.GetData(gv); gv.DataBind(); }
Comment expliquer que l'affichage de la grille ne soit pas mis à jour, alors que sa DataSource a bien été modifiée ?
A la fin de ma méthode, j'ai essayé d'ajouter :
mais cela n'a rien changé. Merci de vos conseils ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 updatePanel2.Update();
Partager