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 :

Remplir un TreeView à partir d'une BDD


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 65
    Points : 33
    Points
    33
    Par défaut Remplir un TreeView à partir d'une BDD
    Bonsoir,

    Je sais que dernièrement, je poste pas mal mais cette fois-ci, je crois que c'est vraiment la dernière. C'est très certainement mon dernier problème, celui qui me gêne le plus.

    Actuellement je travaille avec ces 3 tables (il existe bien sûr d'autres tables mais celles-ci ne sont pas concernées par mon problème), "Fournisseur", "Produit" et "Famille":

    Nom : Capture.PNG
Affichages : 261
Taille : 9,5 Ko

    Comme vous pouvez le voir, Famille et Fournisseur sont reliés par une relation plusieurs-à-plusieurs.

    Je réalise une application Windows Form et j'ai configuré ma BDD (en SQL Server) en tant que DataSource. Mais j'aimerais "simplement" remplir un contrôle TreeView de cette manière:

    Nom : Capture2.PNG
Affichages : 235
Taille : 3,5 Ko

    Ça fait maintenant plusieurs heures que j'arpente le net à la recherche d'une solution et je ne trouve que des choses qui ne fonctionnent pas (même en touchant un peu au code). De plus, je ne sais pas gérer ça avec une relation plusieurs-à-plusieurs.


    Voila, j'espère que j'ai été compréhensible. Je vous serais énormément reconnaissant si quelqu'un pouvait m'aider à régler ce problème.

    Cordialement.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 65
    Points : 33
    Points
    33
    Par défaut
    Bonjour,

    Je pense que je vais abandonner le TreeView. Je ne trouve aucune solution et je ne parviens pas à comprendre le fonctionnement de ces derniers.

    Connaissez-vous un autre moyen de construire une sorte de hiérarchie ?

    Je pensais à utiliser 3 DataGridView (ou ListBox ou autre), Famille, Fournisseur et Produit, et faire en sorte que quand l'utilisateur sélectionne une famille dans le premier contrôle, seuls s'affichent les fournisseurs appartenant à cette famille dans le deuxième contrôle, et seuls s'affichent les produits de ces fournisseurs dans le troisième contrôle. (et bien sûr, si l'utilisateur sélectionne un des fournisseurs, seuls ses produits s'affichent)

    Par contre, je ne sais pas comment gérer le filtre entre les familles et les fournisseurs à cause de la relation many-to-many. C'est à dire que je parviens à ne faire apparaître que les produits liés au fournisseur choisi mais je ne sais pas quelle méthode suivre pour faire la même chose entre les familles et fournisseurs à cause de la présence de la Junction Table.
    Est-ce que quelqu'un pourrait m'aider ?

    Merci.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 65
    Points : 33
    Points
    33
    Par défaut
    Bonjour,

    Je travaille encore sur ce problème (le dernier avant de terminer ce projet !).

    J'ai créé un DataGridView (DGV1) qui affiche toutes les familles et un autre (DGV2) affichant les IDFournisseur et IDFamille de la table de jointure de ma relation many to many (donc, les associations entre les familles et fournisseurs).
    J'ai aussi un dernier DataGridView (DGV3) qui contient mes différents fournisseurs.

    Quand je sélectionne une famille dans DGV1, seules ses associations, dans DGV2, s'affichent.

    Est-il possible de faire une sorte de BindingSource.filter sur DGV3 (DGV des fournisseurs) pour faire en sorte de reprendre les IDFournisseur du DGV2 (DGV filtré, suite à la selection d'une famille) et de n'afficher que les fournisseurs correspondant à ces ID dans DGV3 ?

    De cette manière, je n'aurais qu'à cacher le DGV de ma table de jointure, qui fera office de "lien" entre DGV1 et DGV3. Quand un utilisateur choisira une Famille dans DGV1, seuls les fournisseurs appartenant à cette famille seraient affichés dans DGV3.

    Je sais que c'est un peu une technique "à l'arrache" mais vu l'urgence de la situation, tant que ca fonctionne, c'est le principal.
    J'espère vraiment que vous pourrez m'aider..

    Cordialement.

Discussions similaires

  1. Remplir un treeview à partir d'une requête recursive
    Par Saintelaitlait dans le forum VB.NET
    Réponses: 11
    Dernier message: 07/04/2019, 12h14
  2. Réponses: 1
    Dernier message: 31/07/2013, 23h22
  3. Réponses: 1
    Dernier message: 18/02/2011, 13h57
  4. Construire un TreeView à partir d'une BDD
    Par manu f dans le forum ASP.NET
    Réponses: 5
    Dernier message: 11/10/2010, 15h03
  5. Remplir un TreeView à partir d'une seule table
    Par naindjardin dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 07/05/2009, 01h25

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