IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Trier un listview par les headercolumn.


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Par défaut Trier un listview par les headercolumn.
    Hello,
    Je suis sous Visual Basic 2005 express.

    Je voudrais pouvoir trier mon listview a 2 colonnes soit par la colonne Noms soit par celle Dates.

    J'ai bien trouvé un bout de code mais il doit me manquer une référence, ou alors c'est pour VB6.

    C'est MSComctlLib qui me pose problème.

    Je ne trouve pas de solutions...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
            If ListView1.SortOrder = lvwAscending Then
                ListView1.SortOrder = lvwDescending
            Else
                ListView1.SortOrder = lvwAscending
            End If
            ListView1.SortKey = ColumnHeader.Index - 1
            ListView1.Sorted = True
        End Sub
    Merci pour votre aide.

  2. #2
    Membre éclairé Avatar de hellspawn_ludo
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Par défaut
    Bonjour gezy369,

    Je suis aussi sur VB 2005 express et quand je vais dans le "ListView1_ColumnClick" je n'ai pas les même paramètres que toi.

    Tu devrais avoir ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Private Sub ListView1_ColumnClick(ByVal sender As Object, ByVal e As System.Windows.Forms.ColumnClickEventArgs) Handles ListView1.ColumnClick
    C'est surement du code pour VB6 que tu as recopié.

    Bref, fait un double clic sur ton listview et choisi la méthode "ColumnClick" et colle ce texte


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
            If ListView1.Sorting = SortOrder.Ascending Then
                ListView1.Sorting = SortOrder.Descending
            Else
                ListView1.Sorting = SortOrder.Ascending
            End If
     
            Me.ListView1.Sort()
        End Sub
    Voilà.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Par défaut
    Hello,
    Merci pour ta réponse !

    Ca ne fonctionne pas...
    Je n'ai pas d'erreur par contre.

    Peut-être que c'est à cause du tri des dates ?

    C'est des dates de type 19.03.2005 08:30:26

    Je voudrais pouvoir utiliser ce tri entre ces 2 colonnes comme l'explorateur.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Par défaut
    Ah oui ça marche maintenant !
    J'avais laisser l'option sorting sur ascending.

    Par contre c'est pas encore parfait.

    - J'aimerais quand même que lorsqu'on démarre la listview soit triée par noms par défaut. Parce que là y a rien qui est trié au démarrage du coup...

    - Pis le tri par date est pourri au vu du format que j'ai.
    J'utilise myFileInfo.CreationTime pour cette date. Y a t'il moyen de la reformater afin de la trier ?

    Merci beaucoup !!

  5. #5
    Membre éclairé Avatar de hellspawn_ludo
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Par défaut
    Pour que ton listview soit trié au démarrage, sélectionne-le et modifie la propriété SORTING sur ASCENDING dans la liste des propriétés.

    Le tri sur une date de type 19.03.2007 fonctionne bien chez moi.

    Cependant je ne connais pas la méthode CreationTime. Je ne l'ai jamais utilisé.

    Peux-tu mettre le code qui fait appel à cette méthode ?

    J'y verrais plus clair sur son utilisation et ainsi je verrais si l'on peut la reformater.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Par défaut
    Ah oui ça marche maintenant !
    J'avais laisser l'option sorting sur ascending.
    C'était justement mon problème. En laissant ce paramètre je ne peut plus trier. Peut-être qu'un autre paramètre bloque !? Mais j'en doute...

    Je posterais la méthode CreationTime ce soir quand j'aurais mon code dispo.

    Mais en gros c'est une propriété qui te donne la date et heure de création de ton fichier. Tu peux ausi avoir le nom et plusieurs autres chose de cette manière.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/02/2015, 09h36
  2. Grouper les éléments de ListView par catégorie
    Par versaille21 dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 22/04/2014, 16h55
  3. [XL-2003] Alimentation d'une listview par les différentes valeurs d'une colonne
    Par juju05 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/12/2012, 09h52
  4. Grouper les données d'une listview par date
    Par mounaje dans le forum VB.NET
    Réponses: 3
    Dernier message: 08/12/2010, 14h23
  5. [C#] Trier une Hashtable par les valeurs
    Par Joad dans le forum ASP.NET
    Réponses: 4
    Dernier message: 25/04/2005, 16h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo