Trier une Listview [Résolu]

Messages postés
83
Date d'inscription
lundi 17 août 2009
Dernière intervention
3 août 2013
- - Dernière réponse : cs_mcoppa
Messages postés
40
Date d'inscription
jeudi 8 avril 2004
Dernière intervention
25 juillet 2014
- 3 mars 2013 à 18:10
Bonjour,
Je souhaiterais pouvoir trier une Listview par ordre alphabétique,
si quelqu'un connait le code ?
Merci
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Messages postés
90
Date d'inscription
samedi 29 décembre 2012
Dernière intervention
25 novembre 2018
3
Merci
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

Merci Gildeplomb 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de Gildeplomb
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
3
Merci
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

Merci ucfoutu 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de ucfoutu
0
Merci
Bonjour gildeplomb,

Nous sommes sur le forum vb6.
Hein ? Mais si ça existe
Commenter la réponse de Utilisateur anonyme
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
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
Commenter la réponse de ucfoutu
0
Merci
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
Commenter la réponse de Utilisateur anonyme
Messages postés
83
Date d'inscription
lundi 17 août 2009
Dernière intervention
3 août 2013
0
Merci
problème résolu.
merci tout le monde
Commenter la réponse de omartt
Messages postés
40
Date d'inscription
jeudi 8 avril 2004
Dernière intervention
25 juillet 2014
0
Merci
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
Commenter la réponse de cs_mcoppa
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
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.
Commenter la réponse de ucfoutu
Messages postés
40
Date d'inscription
jeudi 8 avril 2004
Dernière intervention
25 juillet 2014
0
Merci
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
Commenter la réponse de cs_mcoppa
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
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.
Commenter la réponse de ucfoutu
Messages postés
40
Date d'inscription
jeudi 8 avril 2004
Dernière intervention
25 juillet 2014
0
Merci
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.
Commenter la réponse de cs_mcoppa

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.