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

C# Discussion :

Générer un treeview WPF à partir d'un dataset BDD


Sujet :

C#

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur informatique industrielle
    Inscrit en
    Février 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur informatique industrielle
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Février 2017
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Générer un treeview WPF à partir d'un dataset BDD
    Bonjour,

    je recherche une solution propre et optimale afin de générer un treeview WPF à partir d'un résultat de requête SQL.

    Ma requête SQL ressemble à cette suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SELECT A.[Batiment],A.[Etage],A.[Appartement],B.[Locataire] FROM TABLEA as A,TABLEB as B where A.[Locataire] = B.[Locataire] order by A.[Batiment],A.[Etage],A.[Locataire]
    Elle me retourne un résultat semblant à celui ci

    BATIMENT ETAGE APPARTEMENT LOCATAIRE
    Bat_1 1 1 Jean
    Bat_1 1 1 René
    Bat_1 1 1 George
    Bat_2 3 3 Robert
    Bat_2 3 3 Anne
    Bat_2 3 4 Philippe
    Bat_3 1 2 Baptiste
    Bat_3 2 3 Didier
    Bat_3 2 4 Pierre
    Bat_4 1 1 Alex
    Bat_5 2 4 Paul

    Je fournis la requête SQL sous forme d'un 'string' à un de mes fonctions c#, qui me retourne donc le résultat sous forme d'un dataset exploitable.

    Mon treeview est déclaré très simplement en XAML dans une Grid WPF de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <TreeView Name="MyTreeview"></TreeView>
    Avez vous une solution afin de générer de façon optimale ce treeview wpf depuis le dataset retourné par la requête SQL ?
    Je répondrais avec plaisir à toutes questions posées à ce sujet.

    En vous remerciant d'avance

  2. #2
    Membre éprouvé Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Points : 1 236
    Points
    1 236
    Par défaut
    Salut,

    Tout dépend de ce que tu entends par "optimale". La solution la plus simple est de faire des boucles imbriquées pour chaque niveau du style.

    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
    foreach(Batiment b in Batiments)
    {
        // TODO : Créer le node de notre bâtiment à la racine du treeview
        foreach(Etage e in b.Etages)
        {
              // TODO : Créer le node de notre étage en enfant du batiment
              foreach(Appartement a in e.Appartements)
              {
                   // TODO : Créer le node de notre appartement en enfant de l'étage
                   foreach(Locataire l in a.Locataires)
                   {               
                        // TODO : Créer le node de notre locataire en enfant de l'appartement
                   }
              }
        }
    }
    La Triforce du développement : Fainéantise, Curiosité et Imagination.

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur informatique industrielle
    Inscrit en
    Février 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur informatique industrielle
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Février 2017
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonsoir et merci pour la réponse,
    à vrai dire j'ai déjà réalisé cette solution de boucles imbriquées avant de poster mon message mais je ne l'ai pas précisé, car je me demandais si il y avait une façon plus simple ou même des outils permettant de réaliser ce treeview wpf.
    Je souhaitais éviter cette méthode car ma base de donnée est assez conséquente et tend à évoluer à l'avenir.

  4. #4
    Candidat au Club
    Homme Profil pro
    Ingénieur informatique industrielle
    Inscrit en
    Février 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur informatique industrielle
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Février 2017
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    je relance une dernière fois ce post avant de trouver une nouvelle solution, au cas où.

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/02/2009, 16h08
  2. charger un treeview a partir d'un dataset
    Par paquito dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 04/09/2008, 22h32
  3. Générer un treeview à partir d'une table
    Par ruff15 dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 14/08/2008, 22h03
  4. [VB.NET] Executer une requete à partir d'un DataSet...?
    Par anthony70 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 12/07/2004, 14h17
  5. Réponses: 2
    Dernier message: 27/05/2004, 00h40

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