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 :

wpf treeView xmldataprovider


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Par défaut wpf treeView xmldataprovider
    Bonjour à tous,

    je me lance dans le wpf et je commence juste à comprendre le data binding et les template seulement je n'arrive pas à mettre en place l'affichage de ma treeview
    Je m'explique j'aimerai avoir une treeView qui afficherais l'arborescence de mes serveur de bd
    ex :
    serveur1
    bd1
    bd2
    serveur2
    bd1
    bd2
    bd3

    j'aimerai également lorsque je clique sur la bd qu'il effectue la connexion et affiche toujours dans l'arborescence treeView les table que ma bd contient
    voici mon xml, qui contient les serveurs et les donnée pour effectuer la connexion ainsi que les bd qu'ils contiennent :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?xml version="1.0" encoding="utf-8" ?>
    <serveurs>
      <serveur name="localhost" passwd="" userId="root">
        <bd>lol</bd>
      </serveur>
      <serveur name="localhost2" passwd="" userId="root">
        <bd>lolkk</bd>
      </serveur>
      <serveur name="localhost3" passwd="" userId="root">
        <bd>bb</bd>
        <bd>bb</bd>
        <bd>bb</bd>
        <bd>bb</bd>
      </serveur>
    </serveurs>


    donc quand je cliquerai sur le nom de la bd j'aurais une requête qui effectuerai la connexion à celle-ci et comme conséquence sur le treeview afficherai en dessous ses tables

    mon code xaml jusque maintenant mais qui est loin du résultat voulu car il affiche juste le nom des bd et pas celui des serveur (ce qui est normal vu que je le dis nul par mais je ne sais pas trop comment faire )

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        <Grid>
            <Grid.Resources>
                <XmlDataProvider x:Key="xmlDocu"   Source="ser.xml"/>
            </Grid.Resources>
            <TreeView Name="tv"
                    Background="LightYellow"
                    ItemsSource="{Binding Source={StaticResource xmlDocu}, XPath=serveurs/serveur/bd}"
                    Margin="5"
                    Grid.Row="1" >
     
            </TreeView>
        </Grid>

    je vous remercie d'avance de votre aide et de votre indulgence pour la médiocrité du code

    babyboo

  2. #2
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 77
    Par défaut
    Voici un code qui marche moyennant une petite modification de la structure de ton xml.

    Code xml : 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
    17
     
    <Grid>
            <Grid.Resources>
                <XmlDataProvider x:Key="xmlDocu" Source="data.xml"/>
            </Grid.Resources>
            <TreeView Name="tv"
                    Background="LightYellow"
                    ItemsSource="{Binding Source={StaticResource xmlDocu}, XPath=serveurs/serveur}"
                    Margin="5"
                    Grid.Row="1" >
                <TreeView.ItemTemplate>
                    <HierarchicalDataTemplate ItemsSource="{Binding XPath=bd}">
                        <TextBlock Text="{Binding XPath=@name}"></TextBlock>
                    </HierarchicalDataTemplate>
                </TreeView.ItemTemplate>
            </TreeView>
        </Grid>

    Le fichier Xml

    Code xml : 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
     
    <?xml version="1.0" encoding="utf-8" ?>
    <serveurs>
      <serveur name="localhost" passwd="" userId="root">
        <bd name="lol"></bd>
      </serveur>
      <serveur name="localhost2" passwd="" userId="root">
        <bd name="lolkk"></bd>
      </serveur>
      <serveur name="localhost3" passwd="" userId="root">
        <bd name="bb"></bd>
        <bd name="bb"></bd>
        <bd name="bb"></bd>
        <bd name="bb"></bd>
      </serveur>
    </serveurs>

    En fait, sur les éléments "bd", j'ai utilisé un attribut nommé "name" plutôt que de mettre la valeur dans l'élément car ce code fonctionne uniquement sur les éléments possédant un attribut "name" (cf. le HierarchicalDataTemplate).

    Bref, ca te donne un bon début de piste de recherche je pense (sur le HierarchicalDataTemplate ou encore l'utilisation de la syntaxe '@xxx' pour référencer les attributs en XPath)

    Riana

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Par défaut merci
    je te remercie Riana de ton aide je suis désolée de répondre seulement maintenant mais j'ai du mettre cela un peu de côté.
    Ta raiponce m'a permise de bien avancé j'en suis ravie ^^
    Bien à toi

    Babyboo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. WPF Treeview et Customization
    Par EzecKiel dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 27/05/2008, 16h38
  2. [WPF] TreeView & SelectedItem
    Par UNi[FR] dans le forum Windows Presentation Foundation
    Réponses: 15
    Dernier message: 18/02/2008, 10h16
  3. Réponses: 11
    Dernier message: 10/12/2007, 13h47
  4. [WPF] TreeView et contextMenu
    Par binoo dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 09/11/2007, 15h29

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