ListBos Multiselect

Signaler
Messages postés
27
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
5 février 2007
-
Messages postés
27
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
5 février 2007
-
Bonjour a tous..

Comment trouver les elements d'une listebox multiselect sans avoir à parcourir la listebox completement et regarder si l'element est selectionné.

pas comme c'est ecris ci dessous.

For i := 0 to ListBox1 do
Begin
If ListBox1.Selected[i] Then
Begin
showmessage(ListBox1.Items.Strings[i]);
End;
End;

y a t il une autre méthode, moins longue quand la liste
est composé de 2000 elements ?

JMN

3 réponses

Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Honnetement je ne vois pas. Mis à part si tu veux détruire ces éléments tu as la commande deleteselected. Sinon je ne vois pas.
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Une ListBox avec 2000 éléments ?????
Ben, va falloir prendre son mal en patience, surtout si tu affiches un message à chaque ligne sélectionnée !
Pour savoir si tous les éléments de la liste sont sélectionnés, tu peux utiliser la propriété SelCount. Si SelectCount = Count, alors tout est sélectionné.
Ca t'évitera de recompter chaque ligne :big)
May Delphi be with you
Messages postés
27
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
5 février 2007

j'ai cherché et je n'ai pas trouvé de solution du coté des options de la listbox, mais par contre j'ai trouvé une autre solution.

Quand on sort de la listbox avec par exemple 10 elements selectionnés, il suffit de creer un tableau dynamique du nombre d'élements selectionnés et ensuite d'utilisé ce tableau à la place de la listbox et bien sur de mettre à jour
ce tableau à chaque modification de la listbox. (FACILE)

il sera ensuite plus rapide de parcourir que les 10 elements du tableau (Tab.Length) que les 2000 de la listbox pour trouver les 10 sélectionnés.

Au fait, ma liste box à plus de 2000 elements car ce sont des codes article que l'utilisateur peut selectionné pour retrouvé par la suite des rapports de fabrication utilisant ces codes articles.

JMN (je donne toujours les réponses à mes propre question,cela peut aider les autres..)