EXEMPLE DE TRI DANS UNE LISTVIEW (LETTRES,NOMBRES,DATE)
Cara53
Messages postés36Date d'inscriptionmercredi 4 octobre 2000StatutMembreDernière intervention29 juin 2004
-
8 août 2003 à 03:20
simodel
Messages postés38Date d'inscriptionvendredi 29 février 2008StatutMembreDernière intervention19 juin 2009
-
5 août 2010 à 11:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
simodel
Messages postés38Date d'inscriptionvendredi 29 février 2008StatutMembreDernière intervention19 juin 2009 5 août 2010 à 11:34
merci, bon courage
aguess
Messages postés7Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention28 juin 2009 25 juil. 2009 à 15:09
bonjours
je suis nouveau, et j'ai un des difficulter à comprendre ce code ,si j'ai bien compris vous tranformer les dates et les chiffres en format alphabetique pour les trié(mais comment vous faite pour les séparateur de date "/") et la chose que je n'est pas compris c'est l'utilité de "Tag", j'aimerai bien que quelqu'un m'explique à quoi sa sert.
merci
peug
Messages postés232Date d'inscriptionmercredi 25 octobre 2000StatutMembreDernière intervention 5 octobre 2012 12 mars 2009 à 09:53
Génial + amélioration de Tioneb impec. Merci
cs_Tioneb
Messages postés193Date d'inscriptiondimanche 16 décembre 2001StatutMembreDernière intervention29 juillet 2015 27 juin 2008 à 18:20
Merci beaucoup pour cette source. Elle fonctionne très bien. Par contre, quand on range dans l'ordre de la colonne 1 par exemple, puis par la colonne 2 puis on reviens à la 1 et bien on se retrouve avec un ordre inversé. Dans Windows, quand on clique pour trier une colonne, par défaut c'est l'ordre alphabétique. Si on passe à une autre colonne, il "oubli" l'ordre demandé pour la première colonne.
Alors pour ceux qui ont compris ce que j'ai écris (je sais que c'est un peu fouillis) et qui veulent que ça se comporte comme windows, faire les modifications suivantes:
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
m_blnDirection(ColumnHeader.Index) = Not m_blnDirection(ColumnHeader.Index)
Select Case ColumnHeader.Index
Case 1
SortListView ListView1, ColumnHeader.Index, ldtString, m_blnDirection(1)
RAZTriage 1 ' <== ajout pour faire comme windows
Case 2
SortListView ListView1, ColumnHeader.Index, ldtNumber, m_blnDirection(2)
RAZTriage 2 ' <== ajout pour faire comme windows
Case 3
SortListView ListView1, ColumnHeader.Index, ldtString, m_blnDirection(3)
RAZTriage 3 ' <== ajout pour faire comme windows
End Select
End Sub
Puis, rajouter cette fonction (dans la form):
Public Function RAZTriage(Sauf As Integer)
Dim i As Integer
For i = 1 To UBound(m_blnDirection())
If i <> Sauf Then
m_blnDirection(i) = False
End If
Next i
End Function
Pour ceux qui ne comprennent pas le fonctionnement de la modif, voici une petite explication. Quand on fait un tri (avec la fonction SortListView), dès qu'elle est terminée, on appelle ma fonction (RAZTriage) en passant comme paramètre le numéro de la colonne qu'on vient juste de traiter. Et la fonction va réinitialiser les variables contenant l'ordre du tri pour chaque colonne (ascendant ou descendant) SAUF celle qu'on vient de trier.
bdl20042000
Messages postés63Date d'inscriptionmercredi 18 août 2004StatutMembreDernière intervention19 mai 2009 13 juin 2008 à 13:16
génial
cs_Danyz
Messages postés98Date d'inscriptiondimanche 20 juillet 2003StatutMembreDernière intervention31 octobre 2006 28 août 2005 à 13:10
Vraiment excellent !
Ca serait possible d'avoir 2 options de tri ?
genre tri sur la colonne un par nombre puis tri sur la colonne 2 par texte par exemple
1 A
1 B
1 C
2 A
2 B
etc...
En tout cas 10/10
cs_PaTaTe
Messages postés2126Date d'inscriptionmercredi 21 août 2002StatutContributeurDernière intervention19 février 20212 2 avril 2005 à 23:40
c bien sympa oui mais je cherche plutot une chose similaire a Widows (ré-organiser les icones par ...)
si kelk1 a une piste ca serait sympa :)
Sk8cravis
Messages postés8Date d'inscriptionsamedi 22 février 2003StatutMembreDernière intervention21 septembre 2007 24 janv. 2005 à 17:54
Magnifique !
Merci beaucoup.
Scooby1
Messages postés48Date d'inscriptiondimanche 12 mai 2002StatutMembreDernière intervention26 novembre 2003 29 sept. 2004 à 11:17
Parfait Pile poil ce que je cherchais. Merci ;)
cs_jerms
Messages postés115Date d'inscriptionjeudi 8 mai 2003StatutMembreDernière intervention 3 janvier 2016 20 mai 2004 à 00:15
en faite j'ai trouvé plus simple pour trier :
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
ListView1.SortKey = ColumnHeader.Index - 1
ListView1.SortOrder = (ListView1.SortOrder + 1) Mod 2
End Sub
cs_jerms
Messages postés115Date d'inscriptionjeudi 8 mai 2003StatutMembreDernière intervention 3 janvier 2016 19 mai 2004 à 23:49
magnifique, c'est ce que je cherchais. En plus c'est simple et efficace.
kergweland
Messages postés1Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention23 novembre 2003 23 nov. 2003 à 15:15
Tout ce dont j'avais besoin... Merci MetalCoder
Cara53
Messages postés36Date d'inscriptionmercredi 4 octobre 2000StatutMembreDernière intervention29 juin 2004 8 août 2003 à 03:20
5 août 2010 à 11:34
25 juil. 2009 à 15:09
je suis nouveau, et j'ai un des difficulter à comprendre ce code ,si j'ai bien compris vous tranformer les dates et les chiffres en format alphabetique pour les trié(mais comment vous faite pour les séparateur de date "/") et la chose que je n'est pas compris c'est l'utilité de "Tag", j'aimerai bien que quelqu'un m'explique à quoi sa sert.
merci
12 mars 2009 à 09:53
27 juin 2008 à 18:20
Alors pour ceux qui ont compris ce que j'ai écris (je sais que c'est un peu fouillis) et qui veulent que ça se comporte comme windows, faire les modifications suivantes:
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
m_blnDirection(ColumnHeader.Index) = Not m_blnDirection(ColumnHeader.Index)
Select Case ColumnHeader.Index
Case 1
SortListView ListView1, ColumnHeader.Index, ldtString, m_blnDirection(1)
RAZTriage 1 ' <== ajout pour faire comme windows
Case 2
SortListView ListView1, ColumnHeader.Index, ldtNumber, m_blnDirection(2)
RAZTriage 2 ' <== ajout pour faire comme windows
Case 3
SortListView ListView1, ColumnHeader.Index, ldtString, m_blnDirection(3)
RAZTriage 3 ' <== ajout pour faire comme windows
End Select
End Sub
Puis, rajouter cette fonction (dans la form):
Public Function RAZTriage(Sauf As Integer)
Dim i As Integer
For i = 1 To UBound(m_blnDirection())
If i <> Sauf Then
m_blnDirection(i) = False
End If
Next i
End Function
Pour ceux qui ne comprennent pas le fonctionnement de la modif, voici une petite explication. Quand on fait un tri (avec la fonction SortListView), dès qu'elle est terminée, on appelle ma fonction (RAZTriage) en passant comme paramètre le numéro de la colonne qu'on vient juste de traiter. Et la fonction va réinitialiser les variables contenant l'ordre du tri pour chaque colonne (ascendant ou descendant) SAUF celle qu'on vient de trier.
13 juin 2008 à 13:16
28 août 2005 à 13:10
Ca serait possible d'avoir 2 options de tri ?
genre tri sur la colonne un par nombre puis tri sur la colonne 2 par texte par exemple
1 A
1 B
1 C
2 A
2 B
etc...
En tout cas 10/10
2 avril 2005 à 23:40
si kelk1 a une piste ca serait sympa :)
24 janv. 2005 à 17:54
Merci beaucoup.
29 sept. 2004 à 11:17
20 mai 2004 à 00:15
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
ListView1.SortKey = ColumnHeader.Index - 1
ListView1.SortOrder = (ListView1.SortOrder + 1) Mod 2
End Sub
19 mai 2004 à 23:49
23 nov. 2003 à 15:15
8 août 2003 à 03:20