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

Windows Presentation Foundation Discussion :

Trier une treeview


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Par défaut Trier une treeview
    Bonjour à tous,
    j'ai une treeview, avec des elements.
    Je souhaiterais pouvoir trier les elements d'un de mes TreeViewItem par ordre alphabétique. Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Racine
    -Niveau1
    --Nouveau Dossier3
    --Nouveau Dossier2
    --Nouveau Dossier1
    -Niveau2
    --Nouveau Dossier3
    --Nouveau Dossier2
    --Nouveau Dossier1
    -Autre niveau
    --Nouveau Dossier3
    --Nouveau Dossier2
    --Nouveau Dossier1


    En faisant un tri sur "Niveau2", je souhaiterais avoir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Racine
    -Niveau1
    --Nouveau Dossier3
    --Nouveau Dossier2
    --Nouveau Dossier1
    -Niveau2
    --Nouveau Dossier1
    --Nouveau Dossier2
    --Nouveau Dossier3
    -Autre niveau
    --Nouveau Dossier3
    --Nouveau Dossier2
    --Nouveau Dossier1

    Mon probléme est que je n'arrive pas a faire un "Items.SortDescriptions".
    Actuellement, chacun de mes "TreeViewItem" sont définis comme cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    dim monItem as TreeViewItem
    Dim pan As StackPanel = New StackPanel()
                pan.Orientation = Orientation.Horizontal
                'Creation de l'icone
                Dim icon As BitmapImage = New BitmapImage(New Uri("pack://application:,,,/Images/NetObject.png"))
                'Creation du conteneur de l'image
                Dim image As Image = New Image()
                image.Height = 16
                image.Source = icon
                'Ajout de l'image au panel
                pan.Children.Add(image)
                'Ajout du texte au panel
                pan.Children.Add(New TextBlock(New Run("Test de l'Item")))
                'Ajout du panel à l'item
                e.Header = pan
                e.Tag = "Identifiant de l'item"

    J'ai donc un TreeViewItem qui contient un StackPanel. Dans ce stack panel j'ai une image et du texte.
    J'ai essayé de faire mon tri avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    monItem.Items.SortDescriptions.Clear()
    monItem.Items.SortDescriptions.Add(New System.ComponentModel.SortDescription("Header", System.ComponentModel.ListSortDirection.Ascending))
    monItem.Items.Refresh()
    mais le problème ben c'est que çà ne fonctionne pas, il ne récupére pas le contenu texte du panel... Est-ce que quelqu'un aurait une idée?

    Merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Je pense que tu devrais plutot créer une classe pour les items de ton treeview, et définir un DataTemplate pour cette classe. Comme ça tu n'auras qu'à indiquer une propriété de cette classe comme critère de tri

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Par défaut
    Salut,
    Merci pour ta reponse!!
    Bon, je vois pas trop comment implementer ca (surtout aprceque je suis compeltement debutant), mais je vais essayer de me pencher sur le probleme

Discussions similaires

  1. [A-07] Trier une listbox dans l'ordre d'un treeview
    Par Tutures dans le forum VBA Access
    Réponses: 3
    Dernier message: 23/01/2009, 10h21
  2. Comment trier une DBGRID en cliquant sur une colonne
    Par sessime dans le forum Bases de données
    Réponses: 8
    Dernier message: 09/10/2004, 17h18
  3. [Debutant(e)]Trier une liste
    Par LeDébutantJava dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 19/08/2004, 13h44
  4. [langage] Trier une hastable
    Par Gogoye dans le forum Langage
    Réponses: 11
    Dernier message: 03/08/2004, 17h43
  5. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 21h22

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