Trier une Listview

[Résolu]
Signaler
Messages postés
83
Date d'inscription
lundi 17 août 2009
Statut
Membre
Dernière intervention
3 août 2013
-
Messages postés
40
Date d'inscription
jeudi 8 avril 2004
Statut
Membre
Dernière intervention
25 juillet 2014
-
Bonjour,
Je souhaiterais pouvoir trier une Listview par ordre alphabétique,
si quelqu'un connait le code ?
Merci

12 réponses

Messages postés
102
Date d'inscription
samedi 29 décembre 2012
Statut
Membre
Dernière intervention
24 mars 2021

Salut

J'ai tapé ça "trier une Listview par ordre alphabétique" dans google et j'ai eu ça
http://msdn.microsoft.com/fr-fr/library/system.windows.forms.listview.sorting.aspx




Gil
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,
et moi, je n'ai même perdu de temps avec google, etc ...
Je suis allé directement dans l'aide VB6 (MSDN) ===>> ListView ===>>> propriété Sorted ===>> [u]SortKey, SortOrder, Sorted Properties, ColumnClick Event Example
/u
Rien n'y manque !

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ

Bonjour gildeplomb,

Nous sommes sur le forum vb6.
Hein ? Mais si ça existe
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Avec bien sûr un petit "plus" : Ce que j'ai trouvé dans l'aide VB6 correspond à du :
Forum > Visual Basic 6

et non à du VB.Net, hein ...

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour, banana32.
Je prie pour que le demandeur ne nous dise pas qu'il n'a pas installé MSDN


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ

Bonsoir ucfoutu,

Avec le curseur positionné sur le mot clé 'ListView' et en appuyant sur F1, et si vb6 peut le faire (j'ai de gros doutes là), il devrait obtenir toute l'aide nécessaire.
Bonne soirée et bon barbeq
Messages postés
83
Date d'inscription
lundi 17 août 2009
Statut
Membre
Dernière intervention
3 août 2013

problème résolu.
merci tout le monde
Messages postés
40
Date d'inscription
jeudi 8 avril 2004
Statut
Membre
Dernière intervention
25 juillet 2014

Bonjour à tous,

Ou je n'ai rien compris, ou je deviens chèvre.
J'utilise un contrôle ListView. Lorsque je sors du logiciel, j'enregistre le numéro de la colonne de tri ainsi que l'ordre de tri :
ListView.SortKey et ListView.SortOrder.
Lorsque j'entre à nouveau dans le logiciel, je voudrais pouvoir récupérer ces paramètres, mais rien à faire. Quand j'entre, même si j'essaie de lui dire :
ListView1.Sorted = True
ListView1.SortOrder = 1
ListView1.SortKey = 4
Je me retrouve toujours trié sur la colonne 1 et dans l'ordre ascendant.


mcoppa
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour, mcoppa,
Lorsque je sors du logiciel, j'enregistre le numéro de la colonne de tri ainsi que l'ordre de tri

ton message est totalement inutile, puisque tu ne nous parles :
- ni de dans quoi et avec quel code tu les enregistres !
- ni de l'évènement utilisé pour la récupération, ni du code utilisé pour la récupération !
Tu vas donc avoir une réponse du même goût (inutile) que celui de ton message : tu n'as pas écrit le bon code pour enregistrer et pour récupérer.
Satisfait ?
Et ouvre ta propre discussion, car ton intervention ici (enregistrement et récupération de valeurs entre sessions) n'a tien à voir avec le sujet de la présente discussion (le tri lui-même) !

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
40
Date d'inscription
jeudi 8 avril 2004
Statut
Membre
Dernière intervention
25 juillet 2014

Bonjour ucfoutu,

Je trouve ta réponse bien dure.
Je ne comprends pas pourquoi mon message est inutile, ni pourquoi mon intervention n'a rien à voir avec la discussion sur le tri.
J'effectue un tri en cliquant su la colonne qui m'intéresse, puis éventuellement en l'odonnant en ordre descendant ou ascendant, ce qui fonctionne très bien :

Type TListe
KEY as Integer ' Colonne de tri
STR as Integer ' 0 - > ascendant, 1 descendant
End Type

Public Sub VListColumnClic(Lst As Control, VLST As TListe, Img As Object, ByVal ColumnHeader As MSComctlLib.ColumnHeader)
Dim clmX As ColumnHeader, Dum As Integer
VLST.KEY = Lst.SortKey
For Dum = 1 To Lst.ColumnHeaders.Count
Set clmX = Lst.ColumnHeaders.Item(Dum)
clmX.Icon = 0
Next
Set clmX = Lst.ColumnHeaders.Item(ColumnHeader.Index)
Lst.SortKey = ColumnHeader.Index - 1
If Lst.SortKey = VLST.KEY Then
Lst.SortOrder = -(-Lst.SortOrder Xor -1)
End If
clmX.Icon = Img.ListImages((Lst.SortOrder + 1)).KEY
VLST.KEY = Lst.SortKey
VLST.SRT = Lst.SortOrder
End Sub

En sortie de programme, j'enregistre un fichier dans lequel je mets mon ordre de tri, TLST.

Quand j'entre à nouveau dans le programme, je récupère ce fichier, puis après avoir créé de nouveau mon contrôle ListView1, j'essaie de lui communique mon ordre de tri :

Dim XLST As TListe
ListView1.Sorted = True
ListView1.SortOrder = XLST.SRT
ListView1.SortKey = XLST.KEY

Et rien n'y fait, je me retrouve toujours avec une clé de tri sur la première colonne et dans l'ordre ascendant.
Pourtant, je retrouve bien mes variables dans ListView1.Sortkey et SortOrder.
Si cela n'est pas un problème de tri sur un contrôle ListView, alors je ne sais pas ce que c'est.
Il est tout à fait possible, et même certain, que je n'ai pas écrit le bon code, mais si je l’avais écrit, je ne poserais pas la question, ou bien même, je serais à même de répondre à quelqu'un qui aurait ce problème.



mcoppa
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Relis donc la réponse que je t'ai faite et qui me parait assez claire.
Intéresse-toi particulièrement aux deux lignes commençant par "- ni ...)
Ton problème n'est pas le tri, mais bel et bien l'enregistrement et la récupération de valeurs !
Et nous ne voyons toujours pas le code ;
- ni d'enregistrement (et dans quoi)
- ni de récupération (et depuis quoi).
Je t'abandonne donc tout net là. Je ne reviendrais que dans une autre discussion, ouverte distinctement avec le sujet qui correspond à ton vrai problème.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
40
Date d'inscription
jeudi 8 avril 2004
Statut
Membre
Dernière intervention
25 juillet 2014

Merci de tes réponses, j'ai donc posé la question dans :
Sauvegarder et récupérer SortKey et SortOrder dans une ListView.
Peut-être accepteras-tu de m'aider cette fois ?

mcoppa

PS : L'enregistrement est fait dans un fichier de paramètres dans le FormUnload, et la récupération, en lisant ce même fichier lors du FormLoad après initialisation du ListView.