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

Delphi Discussion :

Chargement TreeView à partir d'une base Firebird


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 63
    Par défaut Chargement TreeView à partir d'une base Firebird
    Bonjour à tous,
    Je fais appel à vous encore une fois car je suis totalement perdu.
    Je m'explique, j'ai une base de données et je voudrais charger une table (Articles) sous forme de treeview (Famille et sous famille). Mais ça coince ! Je n'y arrive pas du tout.
    Voici la structure de ma table articles et famille:
    ---------------------------------------------------
    *Articles*
    ID_ARTICLES INTEGER NOT NULL,
    REFERENCE_ARTICLE VARCHAR(150),
    DESIGNATION_ARTICLE LONGTEXT DEFAULT Null,
    FAMILLE VARCHAR(30),
    ID_FAMILLE INTEGER);

    *Contenu*
    ID_ARTICLES|REFERENCE_ARTICLE|DESIGNATION_ARTICLE|FAMILLE|ID_FAMILLE
    100 | CL-6499 | Creative Webcam |Webcams| 15

    ---------------------------------------------------
    *Famille*
    ID_FAMILLE INTEGER NOT NULL,
    ID_PARENT INTEGER,
    FAMILLE VARCHAR(30);

    *Contenu*
    ID_FAMILLE|ID_PARENT|FAMILLE
    15 | 2 |Webcams

    ID_Parent = Périphériques

    Périphériques
    |________Webcams
    |________Creative

    -----------------------------------------------------

    * Fichier pdf en attachement.

    Merci beaucoup pour votre aide
    Images attachées Images attachées

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Par défaut
    Bonjour à tous,

    Je suis exactement sur la même problématique... Donc n'attends pas pour l'instant de conseils éclairés mais des pistes.

    Moi je suis sur MySQL et pour arriver à faire ce que tu décris, j'ai commencé par regarder un tuto sur le site Spécial Delphi Michel. Il montre les bases d'un treeview : comment ajouter des noeuds etc...

    http://www.phidels.com/php/index.php...zip.php3&id=31

    Bon après il me fallait du plus complexe et j'imagine que tu auras les mêmes besoins : à savoir Afficher le nom de l'article dans le treeview et afficher la fiche entière de l'article quand on clique dessus. Je cherchais notamment comment afficher un champ et stocker le champ clé primaire de manière invisible. Tout est là :

    http://users.iafrica.com/d/da/dart/D.../TreeView.html

    Que du bonheur tout y est expliqué. Je l'ai trouvé il y a deux heures et mon truc commence à ressembler à qq chose...

    Si tu as des besoins, relance le post, je vais expérimenter ce soir mais je ne pourrai te répondre que demain.

    Amicalement

  3. #3
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Par défaut
    Salut
    ci joint un code que j'utilise pour charger les familles et les articles rattachés à chaque famille.
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    procedure TFrm_sav_t.Peupler_tree(TV : TTreeView);
    var newNode : TTreeNode;
    begin
      With TIBQuery.Create(Nil) do
      try
        Database    := DM.IB_Database;
        Transaction := DM.IB_Transaction;
        SQL.Add('select FAM_REF,ART_REF from T_ARTICLE');
        SQL.Add('Order by FAM_REF,ART_REF');
        Open;
        with TV do
        begin
          Items.Clear;
          if IsEmpty then Items.Add(Nil, 'Rien trouvé...') // au lieu de faire un ShowMessage ou autre...
          else
          begin
            NewNode := Items.AddChildFirst(Nil,FieldByName('FAM_REF').Asstring);
            while not Eof do
            begin
              if (FieldByName('FAM_REF').AsString = NewNode.Text) then
                Items.AddChild(NewNode,FieldByName('ART_REF').Asstring)
              else
              begin
                newNode := Items.AddChild(Nil,FieldByName('FAM_REF').AsString);
                Items.AddChild(NewNode,FieldByName('ART_REF').Asstring);
              end;
              Next;
            end;
        end;
      end;
      finally
        Free;
      end;
    end;
    J'espere que cela vous aideras dans votre quête.

    A+

Discussions similaires

  1. [Débutant] ASP.NET MVC 5 : Création d'un modèle à partir d'une base Firebird
    Par youness78 dans le forum NHibernate
    Réponses: 1
    Dernier message: 22/07/2014, 10h10
  2. Réponses: 10
    Dernier message: 28/10/2011, 12h39
  3. Réponses: 1
    Dernier message: 18/02/2011, 12h57
  4. problème chargement d'un combo à partir d'une base de données
    Par reverse_engineer dans le forum Struts 1
    Réponses: 3
    Dernier message: 10/07/2008, 07h15
  5. Réponses: 1
    Dernier message: 07/06/2006, 14h06

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