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

Bases de données Delphi Discussion :

Comment je peux enregistrer un TreeView?


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 109
    Par défaut Comment je peux enregistrer un TreeView?
    J'ai une application qui contient un TreeView,mais j'ai pas trouver une méthode pour enregistrer et charger cet treeview dans une base Interbase, qui peut me donner une démarche pour faire ca,et merci d'avance.

  2. #2
    Membre éprouvé
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Par défaut
    Il faut le faire manuellement (il se peut qu'il y ait des composants tiers qui le fasse mais je ne les connais pas).

    Donc Ventiler ta BD, qui contient pour chaque ligne j'imagine la notion père/fils
    puis stocker un à un les éléments ventilés dans le TreeView.

    Opération inverse, pareil mais en ventilant le TreeView.
    Il faut garder dans le TreeView, une clef pour chaque ligne afin de pouvoir la retrouver dans la table.
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  3. #3
    Membre chevronné
    Avatar de Hauwke
    Inscrit en
    Septembre 2005
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 329
    Par défaut
    Bonjour,
    En combinant la proprièté "Object" des TTreeNodes et 2 champs de la table de données...
    Creation des champs de la table
    • CodeUnic : Texte (Unique pour chaque reg)
    • CodeParent : Texte (C'est le CodeUnic du noeud parent)

    Utilisez la méthode d'insertion des noeuds suivantes (voir convention d'appel dans l'aide de Delphi)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Tree1.AddObject(Matable.FieldByname('CodeUnic').value,
                           'Le libellé de mon TreeNode');
    Stocker votre composant complet avec les méthodes
    • WriteComponent()
    • ReadComponent()
    ou bien construisez le à la volée avec une boucle récurrente sur la table de donnée.
    Il vous suffit ensuite de travailler avec les deux champs (non indéxé!) CodeUnic et CodeParent
    Cordialement,
    Hauwke

    [Edit] PS : Vous avez, bien sûr, percu l'avantage de la mèthode dés lors que vous créerez une table particulière pour votre arbre :Structure de la table :
    • Id : votre index général
    • CodeUnic,
    • CodeParent
    • NomDeLaBaseDeDonnées
    • NomDeLaTableContenantLeNoeud

    Gérez l'événement OnClick du TreeView pour faire les connections et les Locate() approriés et vous voilà avec une arborescence qui permet de refléter un nombre illimité de relations Maître/Détail sans avoir nécessité de coder 1000 lignes[/edit]

  4. #4
    Membre chevronné Avatar de der§en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 109
    Par défaut
    Moi, j'aurai simplement fait un SaveToStream de ta TreeView puis j'aurai fait un TBlobField.LoadFromStream, tout simplement.

    Der§en.

Discussions similaires

  1. [Débutant] comment je peux enregistrer de nombreuses images ?
    Par Adrocki dans le forum MATLAB
    Réponses: 3
    Dernier message: 15/02/2012, 11h49
  2. [TP]Comment je peux creer un bouton avec Pascal ?
    Par JaVaCode dans le forum Turbo Pascal
    Réponses: 8
    Dernier message: 06/12/2004, 18h28
  3. Comment je peux changer nom de 'Table' avec la phrase sql
    Par YEK dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 01/10/2004, 08h38
  4. HELP!Comment supprimer des enregistrements de tables jointes
    Par ROOTPARIS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/06/2004, 16h41
  5. Réponses: 3
    Dernier message: 25/07/2002, 10h42

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