toosdu87
Messages postés100Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention 1 mars 2010
-
9 mai 2006 à 13:59
rvblog
Messages postés792Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention12 juin 2012
-
11 mai 2006 à 18:00
Salut a tous. J'affiche dans une listbox une trame constituée de 4 variables. Je voudrai pouvoir trier par ordre alphabétique ma premiere variable (FAMILLE). J'ai essayé la commande SORTED mais cela ne fonctionne pas, cela est surement du au nombre de 4 variables associés. J'ai pensé utiliser ORDER BY mais je ne connais pas la démarche ni la syntaxe. Je n'ai rien trouvé sur le forum c' est pour cela que je lance un appel!
toosdu87
Messages postés100Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention 1 mars 2010 10 mai 2006 à 08:18
Deja merci beaucoup car ca m'éclaire pas mal. Dans mon cas je construit une trame constitué de 4 variables de ce type:
Trame = FAMILLE + ID + REF + VERSION
J'affiche en suite au fur et à mesures ma trame dans une listebox, le nombre est variable. Pour faciliter la lecture j'aurai voulu q'une fois mes trames affichés, lorsque je clique sur un label "FAMILLE", j'effectue un tri par famille. Ca vous semble possible? Encore merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
je remonte, je remonte (page 7 en ce moment).
=737476 toosdu87, oui, mais tu n'as pas chosis le plus facile.
Dans le cas du ListBox, tu as tout dans une colonne, et concaténé. Donc, pas d'autre choix que d'avoir une intéraction via un ou plusieurs autres contrôles (tu penses au Label, mais il y a aussi, mieux, les cases à cocher [CheckBox] ou les cases d'options [OptionButton]), de reconstruire la requête, de la ré-exécuter, et de remplir à nouveau la ListBox.
Mais,
un autre composant, le MSComctllLib.ListView (qui se trouve dans le composant Microsoft Windows Common Controls 5.0, 6.0), te permettrait de gérer des vraies colonnes dans la liste. De plus, il intègre des entêtes de colonnes (des vraies aussi), et te permets, lorsque l'utilisateur les clique, de changer l'ordre de tri, et la colonne source du tri (comme dans l'explorateur Windows). Et pour le développeur, 4 lignes de codes pour gérer ça.
à+
rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 11 mai 2006 à 17:47
salut rvblog (voui remonte, prend ton temps ^^),
c'est parce qu'il existe des composants que je n'ai pas donné suite.
par contre j'ai un doute concernant un code si facile (4 lignes) pour trier...
cela dit il existe pas mal de fonctions dispo et prêtes à l'emploi sur VbF
si je te jures (enfin, dans l'exemple ci-dessous, pas 4, mais 3, mais ce n'est qu'un exemple [qui d'ailleurs ne marche pas très bien me rappelle-je, mais il n'y a pas grand chose à modifier, un index tout au plus, dans la partie MSDN de l'exemple :)]), tout droit sorti du MSDN (même pas modifié, mais utilisé mille fois, et un peu colorisé, très peu) :
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ColumnHeader)
' Quand vous cliquez sur un objet ColumnHeader, le contrôle
' ListView est trié selon les sous-éléments de cette colonne.
' Affecte à la propriété SortKey l'index de ColumnHeader - 1
ListView1.SortKey = ColumnHeader.Index - 1
' Affecte à la propriété Sorted la valeur True afin de trier la
' liste.
ListView1.Sorted = True
End Sub
et je rajoute :
ListView1.SortOrder = LvwAscending ou LvwDescending, avec un bon petit flag, tu cliques, il trie ascendant, tu re-cliques, il trie descendant.
sinon =737476 toosdu87, PCPT a raison, il existe des tas d'exemples sur le site (on ne le dit jamais trop).
à+ (qu'est-ce qu'il y a comme courant, ici :) )
rvblogn le saumon<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>