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

Composants VCL Delphi Discussion :

[TTreeview] Comment sélectionner un élément de l'arbre ?


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Par défaut [TTreeview] Comment sélectionner un élément de l'arbre ?
    Petite explicatoin, mon treeview recupére des data sur un serveur interbase qu'il classe de la façon suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    - categorie1
         -produit1
         -produit2
         -produit3
    - categorie2
         -produit4
         -produit5
         -produit6
    - categorie3
         -produit7
         -produit8
         -produit9
    ... etc
    je m'amuse avec la base de donnée, je bouge des éléments (prenons le produit8 par exemple que je deplace à la place du produit7), je rafraichi ma liste qui referme dans la foulée toute les branches. j'aimerai selectionner de nouveau le produit8 un fois la modification prise en compte, que la branche categorie3 soit egalement ouverte .....

    merci d'avance pour votre aide, j'ai pas mal cherché, j'arrive à retenir la position avant modification de mon produit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    saveP := treeview.Selected.Index;
    saveC := treeview.Selected.Parent.Index;
    mais je n'arrive pas à la reselectionner ....
    suis-je clair ?

    merci d'avance

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 75
    Par défaut
    Et une recherche par le nom, ça le ferait pas ?
    Sinon, il suffit de garder en mémoire la catégorie ou l'on vient de déplacer l'objet et de refaire une rechere de "PRODUIT8" dans cette même catégorie.

    Mais effectivmeent, si il y a un système d'index (mais je ne crois pas m'en rappeller), ca le ferais !

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Par défaut
    Bonjour,

    Je suppose quavant de fair la mise à jour des donnée vous avez mémoriser celle à réouvrire, et que par conséquence vous pouvez la retrouver parmis les items du treeviw.


    poue selectionner un items.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
      MyTreeview.Selected := MonItemSelectionner;
    Pour "ouvrir" l'arborescence jusqu'a l'items
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var
      MyWorkItem: TTreeNode;
    begin
      MyWorkItem := MyTreeView.Selected; // a partire de l'item selectionner
     
     while MyWorkItem.Parent <> nil do begin
        MyWorkItem := MyWorkItem.Parent; // Prendre le parent
        MyWorkItem.Expand(False); // L'ouvrire
        // le while permet de boucler jusqu'a la racine de la liste
     end;
    Enfin pour voir le noeud Selectionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      if MyTreeView.Parent <> nil then
        MyTreeView.TopItem := MyTreeView.Selected.Parent
       // si l'items selectionner n'est pas de prmier niveau, fair en sorte que le parent de l'item selectionner soit visible en haut du tre view 
      else
        MyTreeView.TopItem := MyTreeView.Selected;
       // autrement fair en sorte que l'item selectionner soit en haut du treeview
    Attention a tester partout si le selected du treeview est nil.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Comment sélectionner les éléments d'une liste ?
    Par kheironn dans le forum Entity Framework
    Réponses: 2
    Dernier message: 17/05/2013, 11h36
  2. Réponses: 3
    Dernier message: 12/04/2010, 18h57
  3. Réponses: 6
    Dernier message: 10/08/2007, 17h38
  4. [VB6][ListView]Comment sélectionner un élément à partir de sa clé ?
    Par exclusif dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/08/2007, 15h41
  5. [XPath] Comment sélectionner un élément ?
    Par oumokhtar dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 21/03/2007, 13h09

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