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

Langage Delphi Discussion :

Partage de données entre 2 TreeViews. Toute modif de l'un => modif de l'autre


Sujet :

Langage Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 50
    Points : 25
    Points
    25
    Par défaut Partage de données entre 2 TreeViews. Toute modif de l'un => modif de l'autre
    Bonjour,

    Je suis en train d'écrire un programme ayant les caractéristiques suivantes :
    - Form principale (FormMain) avec un TTreeView et un bouton (btMain)
    - Form secondaire (FormTest) avec un TTreeView et des boutons (btAdd, btDel, btRename).

    Lors du click sur btMain, FormTest apparait en tant que fenêtre modale.
    Lors du click sur les boutons btAdd,btDel, btRename, ceux-ci ajoutent, supprime, renomment une entrée du TTreeView de FormTest.

    Jusque la tout est ok.

    J'aimerais savoir s'il est possible, en 1 seule ligne de code, d'assigner aux 2 TreeViews les mêmes données, et que toute modification sur l'un entraine automatiquement la modification de l'autre.

    Je m'explique :
    le TreeView de FormMain est en lecture seule, et ne fait qu'afficher les données.
    le TreeView de FormTest permet la gestion des données. donc dès que j'ajoute un élément au Treeview de Formtest, j'aimerais que celui-ci soit répercuté directement sur le TreeView de FormMain (et de même pour les autres opérations), sans que j'ai à faire sur la fiche :
    FormTest.TreeView.items.add ...
    et FormMain.TreeView.items.add

    Ce type de fonctionnalité n'est-il pas le databinding présent sous Visual Studio?

    Merci d'avance pour vos réponses.

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Tout simplement avec un Assign sur les items:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      TreeViewCible.Items.Assign(TreeViewSource.Items);
    @+ Claudius

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 50
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    Merci pour ta réponse. Malheureusement celle-ci ne correspond pas à mes besoins.
    Avec le Assign(), j'ai bien les mêmes données que dans le treeview de ma fiche principale. Or si je clique sur btAdd de la fiche secondaire, les données s'ajoutent bien dans mon treeview secondaire. Mais mon problème reste le même : Ma fenêtre secondaire étant plus petite que la fenetre principale, je peux voir le contenu du treeview principal, et là je peux voir que mon nouvel ajout n'a pas été répercuté sur le treeview principal, mais seulement sur le secondaire.

    Pour voir en même temps les valeurs sur les 2 treeview, je ne vois que la manipulation suivante à faire sur la fiche secondaire :
    - self.treeview.items.add();
    - formMain.treeview.items.add()

    et je trouve cette méthode un peu crade.
    Si quelqu'un voit une autre solution.

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Je ne comprends pas très bien

    A chaque opération (ajout, modification ou suppression d'item) sur ta fiche secondaire, il suffit de mettre à jour ta fiche principale par un Assign. Ainsi les 2 TreeView seront en parfaite concordance.

    Non ?

    @+

Discussions similaires

  1. Partage de données entre fonctions
    Par 13mike dans le forum Langage
    Réponses: 3
    Dernier message: 09/08/2007, 11h46
  2. Partage de données entre plusieurs prcessus (fork())
    Par mobscene dans le forum Langage
    Réponses: 2
    Dernier message: 18/01/2007, 17h36
  3. partage de donné entre 2 thread
    Par firejocker dans le forum MFC
    Réponses: 7
    Dernier message: 26/01/2006, 14h54
  4. partage de données entre applications
    Par dr_feelgood dans le forum Access
    Réponses: 2
    Dernier message: 09/11/2005, 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