Vider une listbox en VB.NET
Fermé
Lh
-
23 nov. 2016 à 00:57
arion320 Messages postés 233 Date d'inscription lundi 20 décembre 2010 Statut Membre Dernière intervention 4 février 2022 - 7 janv. 2017 à 13:17
arion320 Messages postés 233 Date d'inscription lundi 20 décembre 2010 Statut Membre Dernière intervention 4 février 2022 - 7 janv. 2017 à 13:17
A voir également:
- Vider une listbox en VB.NET
- Vider le cache d'une application - Guide
- Comment supprimer une page vide sur word - Guide
- Vider les cookies - Guide
- Vider la corbeille - Guide
- Vider memoire iphone - Guide
2 réponses
Utilisateur anonyme
23 nov. 2016 à 08:13
23 nov. 2016 à 08:13
Bonjour
Essaye de mettre Nothing au datasource avant de le réaffecter.
Si ça ne marche pas je peux te proposer une solution en chargeant ta base de données dans une liste et en travaillant sur cette liste, car les bases de données je n'en utilises pas donc je ne serai pas de bons conseils.
Essaye de mettre Nothing au datasource avant de le réaffecter.
Si ça ne marche pas je peux te proposer une solution en chargeant ta base de données dans une liste et en travaillant sur cette liste, car les bases de données je n'en utilises pas donc je ne serai pas de bons conseils.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
7 janv. 2017 à 09:00
7 janv. 2017 à 09:00
Bonjour,
Comme ceci:
Comme ceci:
ObjetDataSet.Clear ListBox2.Items.Clear()
Peut être
Mais
Cela suffit 9 fois sur 10, et comme la question a 2 mois, qu'il ne s'est jamais remanifesté, ben on peut supposer que cela a convenu.
ObjetDataSet.Clearcomme je l'avais indiqué initialement, je ne me sers jamais de bases de données, alors certaines fonctionnalités m'échappent.
Mais
ListBox2.Items.Clear()non, sauf si au milieu tu as repassé le datasource à Nothing, mais en faisant
ObjetDataAdapter.Fill(ObjetDataSet, "ObjetsAchetés") ListBox2.DataSource = Nothing 'juste cette ligne plus ListBox2.DataSource = ObjetDataSet.Tables("ObjetsAchetés") ListBox2.DisplayMember = "marchandises"
Cela suffit 9 fois sur 10, et comme la question a 2 mois, qu'il ne s'est jamais remanifesté, ben on peut supposer que cela a convenu.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
>
Utilisateur anonyme
7 janv. 2017 à 09:25
7 janv. 2017 à 09:25
Bonjour Whismeril, je n'avais pas vu que la question avait 2 mois. A quoi sert-il de ressortir de tel post!
arion320
Messages postés
233
Date d'inscription
lundi 20 décembre 2010
Statut
Membre
Dernière intervention
4 février 2022
22
7 janv. 2017 à 13:17
7 janv. 2017 à 13:17
Oups désolé, je suis tomber dessus par hasard. C'est entièrement de ma faute. :x
7 janv. 2017 à 05:13
C'est ça ?
7 janv. 2017 à 08:54
Dans ce cas on ne peut pas intervenir directement sur la collection Items.
D'ailleurs c'est ce qu'il a essayé e ce que dit le message d'erreur
Il faut agir sur la source de donnée.
Or quand on modifie le datasource il peut y avoir une sorte de "conflit de référence" (je ne sais pas si c'est la bonne expression, mais en gros le datasource conserve la référence initiale, qui ne pointe plus vers rien) donc forcer Nothing avant d'affecter une nouvelle référence est souvent la solution la plus simple.
Ça le fait aussi avec une requête Linq que l'on cast en List, Tableau ou Dictionnaire avec ToList(), ToArray() ou ToDictonnary,(), car ces méthodes créent une nouvelle référence.