Un sorting d'un Listview

cs_Blanc Messages postés 181 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 16 octobre 2006 - 1 juin 2004 à 12:29
cs_Blanc Messages postés 181 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 16 octobre 2006 - 1 juin 2004 à 17:44
Bonjour,
J'ai un problème concenant le sorting du listview, cela consiste à mettre les items dans un ordre croissant ou décroissant.. donc c'est simple pour les mettre dans l'rdre croissant et décroissant, mais seulement pour le premier colum... je n'arrive pas à trier mes items avec le deuxième colum par exemple...

Donc si quelqu'un pouvais m'aider!!???
Ce serai vachement simpas!!

Mecri d'avance!

Blanc

4 réponses

Anthony70 Messages postés 13 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 14 septembre 2004
1 juin 2004 à 14:39
Voici un exemple repris rapidement sur un bout de code que j'ai :
Ma listview s'appelle lvprod dans mon exemple ; ceci permet un tri de n'importe quelle colonne en cliquant dans l'entete de celle-ci. Le premier clic fait un tri croissant, le second décroissant.
C'est le LVPROD.SortKey qui détermine la colonne sur laquelle le tri se fera.
Ce code est donc à mettre dans l'évènement ColumnClick, ce qui permet ce tri.

Private Sub lvprod_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
LVProd.Sorted = False
LVProd.SortKey = ColumnHeader.SubItemIndex
LVProd.Sorted = True

If LVProd.SortOrder = lvwDescending Then
LVProd.SortOrder = lvwAscending
Else
LVProd.SortOrder = lvwDescending
End If

LVProd.Sorted = True

End Sub

Anthony
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Modérateur Dernière intervention 23 décembre 2008 23
1 juin 2004 à 14:46
'tite astuce :

If LVProd.SortOrder = lvwDescending Then
LVProd.SortOrder = lvwAscending
Else
LVProd.SortOrder = lvwDescending
End If


se remplace par :

LVProd.SortOrder = 1-LVProd.SortOrder


Quand une variable X passe successivement de 0 à N, pour faire rapide, un changement s'effectue comme ceci :

X = N - X

et non pas

If X=N then
X=0
Else
X=N
End if

Manu
0
Anthony70 Messages postés 13 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 14 septembre 2004
1 juin 2004 à 16:40
Excellent !!
Merci,

Anthony
0
cs_Blanc Messages postés 181 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 16 octobre 2006
1 juin 2004 à 17:44
Merci, mais ça marche pas.. j'ai pas la fonction .sortkey dans mon listview, autement ce serai vachement simple... mais c'est eut-être parce que j'ai le framework 1.0...
Donc voilà... si il y a une autre possibilité, je serai ravis de la connaître!!!

Merci!

Blanc
0