Combobox lourd au démarrage

simduf15 Messages postés 3 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 29 mai 2008 - 29 mai 2008 à 18:11
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 - 29 mai 2008 à 20:40
Bonjour,

J'ai besoin de remplir 6 combobox avec 28 000 valeurs contenu dans la base de donnée

Présentement, j'ai une méthode "getvaleur()" qui va checher les 28 000 valeurs avec une requête SQL (simple select rien de compliqué) et cette méthode renvoie un dataTable.
 Par la suite je fais dans le loading de l'application

combobox1.datasource = getvaleur()
combobox1.valueMember = "test"

combobox2.datasource = getvaleur()
combobox2.valueMember = "test"

combobox3.datasource = getvaleur()
combobox3.valueMember = "test"
E.T.C.

Le tout fonctionne, mais c'est extrêmement lent lorsque l'application démarre
J'ai déjà tenté de mettre le même dataTable sur les combobox, mais cela avait comme résultat de synchroniser tout les combobox (ce qui n'es pas désiré)

Je suis à la recherche d'une solution pour améliorer le temps de démarrage
Si quelqu'un a une idée ... lachez vous lousse

Merci

6 réponses

Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
29 mai 2008 à 19:26
Salut,

C'est le chargement de ta dataTable qui prend du temps ou le chargement des items dans les ComboBox?

Il serait peut etre mieux de charger chaque item dans une boucle qui parcours la table plutot que de faire un ComboBox.DataSource = getvaleur, ça éviterait de charger ta table plusieurs fois (certainement beaucoup plus rapide si ta base de donnée n'est pas locale).

BDD() = [Charger la base de donnée]
For i As Integer = 0 To 27999
    Dim Item As String = BDD(i)
    ComboBox1.Items.Add(Item)
    ComboBox2.Items.Add(Item)

    ComboBox3.Items.Add(Item)

    ComboBox4.Items.Add(Item)

Next

(Je précise que je ne travail jamais avec des bases de données)
0
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
29 mai 2008 à 19:34
moi je me pose la question de l'utilisation d'une combobox contenant 28000 items
ça doit être franchement "chiant" (excusez la vulgarité du terme) de devoir y chercher quelque chose !

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
29 mai 2008 à 19:40
moi je me pose la question de l'utilisation d'une combobox contenant 28000 items
ça doit être franchement "chiant" (excusez la vulgarité du terme) de devoir y chercher quelque chose !


Lol ouais c'est clair, mais quel autre solution? Les éléments de la ComboBox peuvent être triées alphabétiquement, et rien n'empêche d'ajouter une petite fonction de recherche...
0
simduf15 Messages postés 3 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 29 mai 2008
29 mai 2008 à 19:54
Pour mettre plus de détail 
 
Je monte un logiciel pour le transport de marchandise général
et ces combobox contiennent la majorité des villes aux États Unis et en ontario et au Québec

Et ce n'est pas trop dur de trouver une ville dans les 28000 car j'ai utilisé une méthode qui fait un search string et qui affiche les correspondances

Mais je vais essayer la solution d'en haut et je vous redonne des nouvelles si vous avez d'autres solutions allez-y

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_thierry la fronde Messages postés 351 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 12 août 2009
29 mai 2008 à 20:17
Personnellement j'examinerai les items pour voir s'ils ne peuvent être regroupés par catégorie.
Je choisirai dans un combo , la catégorie puis le deuxième combo se chargerait en fonction de ce choix. (les catégories dans un combo ou une listbox d'ailleurs).

thierry la fronde
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
29 mai 2008 à 20:40
Ouais ou une TreeView classé par états par ex (encore faut-il savoir dans quel état se trouve la ville ).
0
Rejoignez-nous