Trier une Listview [Résolu]

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

12 réponses

Répondre au sujet
Gildeplomb 88 Messages postés samedi 29 décembre 2012Date d'inscription 29 mars 2018 Dernière intervention - 13 juil. 2012 à 16:21
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Gildeplomb
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 13 juil. 2012 à 18:14
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ucfoutu
Utilisateur anonyme - 13 juil. 2012 à 18:16
0
Utile
Bonjour gildeplomb,

Nous sommes sur le forum vb6.
Hein ? Mais si ça existe
Commenter la réponse de Utilisateur anonyme
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 13 juil. 2012 à 18:18
0
Utile
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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 13 juil. 2012 à 18:20
0
Utile
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
Utilisateur anonyme - 13 juil. 2012 à 19:12
0
Utile
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
omartt 83 Messages postés lundi 17 août 2009Date d'inscription 3 août 2013 Dernière intervention - 13 juil. 2012 à 20:01
0
Utile
problème résolu.
merci tout le monde
Commenter la réponse de omartt
cs_mcoppa 40 Messages postés jeudi 8 avril 2004Date d'inscription 25 juillet 2014 Dernière intervention - 1 mars 2013 à 18:03
0
Utile
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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 1 mars 2013 à 19:09
0
Utile
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
cs_mcoppa 40 Messages postés jeudi 8 avril 2004Date d'inscription 25 juillet 2014 Dernière intervention - 2 mars 2013 à 16:43
0
Utile
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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 2 mars 2013 à 19:45
0
Utile
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
cs_mcoppa 40 Messages postés jeudi 8 avril 2004Date d'inscription 25 juillet 2014 Dernière intervention - 3 mars 2013 à 18:10
0
Utile
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.