IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Rafraîchir une listbox [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 79
    Par défaut Rafraîchir une listbox
    Bonjour,

    J'ai un ArrayList que j'ai associé à une ListBox (maListBox.ItemsSource = monArrayList). Tout fonctionne parfaitement lorsque je l'associe pour la premier fois. Cependant, si j'ajoute ou je modifie des données dans mon ArrayList, ma ListBox ne prend pas les changements en compte. Comment faire pour rafaîchir ma listbox après changement?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 135
    Par défaut
    Il faut réafecter itemsource (listbox.ItemsSource = listbox.ItemsSource) pour notifier le changement.

    Sinon, la solution la plus propre consiste à ne pas utiliser de listes mais plutot ObservableCollection<T> : Ton ItemsSource sera notifié lors de l'ajout d'éléments à la collection si utilises cette classe.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 79
    Par défaut
    Merci de ta réponse,

    Cependant j'ai trouvé mieux pour ceux que ça intéresse. Après la modification de mon Array je n'ai qu'à faire maListBox.Items.Refresh() et le tour est joué!

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 135
    Par défaut
    Ca revient au même, mais c'est plus joli tu as raison

    Ceci dit, je soutiens mon post : Niveau performances, il est plus intéressant d'utiliser ObservableCollection<T>

    Surtout si tu n'affiches pas de simple strings, et que tu utilises un <Listbox.ItemsTemplate /> :

    Lorsque ta source est mise à jour, tous les éléments de la liste sont reconstruits. Alors qu'avec ObservableCollection<>, seul l'élément ajouté sera traité. Les autres seront considérés comme inchangés.

    Lorsque tu as une liste un peu volumineuse (mais pas assez volumineuse pour utiliser la virtualisation)... ça peut faire la différence !


    Mais suivant tes besoins, un refresh suffira

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MFC] Probleme d'actualisation d'une listbox
    Par Robleplongeur dans le forum MFC
    Réponses: 5
    Dernier message: 13/05/2004, 14h15
  2. [C#]Sauvegarde d'une selection multiple d'une listbox?
    Par onouiri dans le forum ASP.NET
    Réponses: 7
    Dernier message: 29/04/2004, 17h16
  3. Réponses: 3
    Dernier message: 25/03/2004, 11h35
  4. [debutant][servlet]erreur causée par une listBox
    Par omega dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/03/2004, 10h53
  5. Icône a coté du texte dans une ListBox
    Par joce3000 dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/12/2003, 02h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo