Trier une Listview

Résolu
omartt Messages postés 83 Date d'inscription lundi 17 août 2009 Statut Membre Dernière intervention 3 août 2013 - 13 juil. 2012 à 15:39
cs_mcoppa Messages postés 40 Date d'inscription jeudi 8 avril 2004 Statut Membre 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

12 réponses

Gildeplomb Messages postés 101 Date d'inscription samedi 29 décembre 2012 Statut Membre Dernière intervention 1 novembre 2023
13 juil. 2012 à 16:21
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
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
13 juil. 2012 à 18:14
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
3
Utilisateur anonyme
13 juil. 2012 à 18:16
Bonjour gildeplomb,

Nous sommes sur le forum vb6.
Hein ? Mais si ça existe
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
13 juil. 2012 à 18:18
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
0

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

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
13 juil. 2012 à 18:20
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
0
Utilisateur anonyme
13 juil. 2012 à 19:12
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
0
omartt Messages postés 83 Date d'inscription lundi 17 août 2009 Statut Membre Dernière intervention 3 août 2013
13 juil. 2012 à 20:01
problème résolu.
merci tout le monde
0
cs_mcoppa Messages postés 40 Date d'inscription jeudi 8 avril 2004 Statut Membre Dernière intervention 25 juillet 2014
1 mars 2013 à 18:03
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
1 mars 2013 à 19:09
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.
0
cs_mcoppa Messages postés 40 Date d'inscription jeudi 8 avril 2004 Statut Membre Dernière intervention 25 juillet 2014
2 mars 2013 à 16:43
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
2 mars 2013 à 19:45
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.
0
cs_mcoppa Messages postés 40 Date d'inscription jeudi 8 avril 2004 Statut Membre Dernière intervention 25 juillet 2014
3 mars 2013 à 18:10
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.
0
Rejoignez-nous