|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : mars 2003 Messages : 111 ![]() |
Bonjour,
Dans un formulaire, j'ai un contrôle Treeview à gauche et un sous form à droite avec lequel je peux ajouter des branches correspondant à la racine sélectionnée. Je voudrais que la branche créée apparaisse dans l'abre en dessous des autres dès qu'un nouvel enreg est créé dans le ssfrm. Pour l'instant je réalimente l'arbre dès que j'ajoute un enreg (Après MAJ) donc une branche mais le pb est que l'arbre se réduit automatiquement, pas très pratique pour l'utilisateur. J'espère avoir été assez clair... Merci de votre aide |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Christophe Warin Inscription : octobre 2004 Messages : 8 635 ![]() |
Pourquoi recharger l'arbre complet ? Il suffit de mettre à jour la collection Nodes du treeview
|
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : mars 2003 Messages : 111 ![]() |
Merci pour ta réponse, mais comment fait on pour mettre à jour la collection nodes
|
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Christophe Warin Inscription : octobre 2004 Messages : 8 635 ![]() |
Et bien par exemple pour ajouter un noeud à l'élément sélectionner, il faut utiliser la méthode Add de la collections nodes de l'élément sélectionné (selectedItem je crois)
|
|
|
00
|
|
|
#5 | ||
|
Membre régulier
![]() Inscription : mars 2003 Messages : 111 ![]() |
Excuse moi d'insister mais comme j'ai adapté le code d'un livre d'exemples, je ne maîtrise pas toute les subtilités.Je ne vois donc pas exactement ce que tu veux dire.
Voici le code pour alimenter l'arbre: Code :
|
||
|
|
00
|
|
|
#6 | ||
|
Membre régulier
![]() Inscription : mars 2003 Messages : 111 ![]() |
Sur l'évènement Après MAJ du ss frm j'ai mis ce code, mais ça marche toujours pas.
Code :
|
||
|
|
00
|
|
|
#7 | |
![]() ![]() ![]() Christophe Warin Inscription : octobre 2004 Messages : 8 635 ![]() |
Citation:
|
|
|
|
00
|
|
|
#8 |
|
Membre régulier
![]() Inscription : mars 2003 Messages : 111 ![]() |
Oui tu as raison, ça va pas du tout; j'enlève le .Nodes.Clear et
ERREUR:Elément not found Aïe,Aïe,Aïe, je pagaie à fond. |
|
|
00
|
|
|
#9 |
![]() ![]() ![]() Christophe Warin Inscription : octobre 2004 Messages : 8 635 ![]() |
Arf j'avais pas vu ton bloc de code au dessus
En fait qu'est ce que tu souhaite faire ? Ajouter un nouvel élement en dessous de celui sélectionné ? |
|
|
00
|
|
|
#10 |
|
Membre régulier
![]() Inscription : mars 2003 Messages : 111 ![]() |
En fait je crée les troncs de l'arbre par un frm indépendant et pour ça il n'y a pas de pb.
Ensuite je voudrais créer les branches par un sous frm qui s'ouvre lorsque je clique sur le tronc père. Donc tout cela fonctionne sauf que pour que ce soit plus convivial je voudrais qu'à chaque fois que je crée un enreg (nouvelle branche) ds le ssfrm celle ci apparaisse dans l'arbre sans modifier l'effet Réduction/Développement de l'arbre |
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Christophe Warin Inscription : octobre 2004 Messages : 8 635 ![]() |
Arf ... en effet ça se complique.
Le challenge est assez interessant. Déjà dans le choix de l'évenement. Il faudrait surement utiliser l'évenement Current du formulaire. Là dessus, tenter d'insérer le nouveau node en récupérant la clé correspondant au formulaire principal. je ne vois pas ce que ça va donner. Le meilleur moyen est de tester Je m'y met de ce pas. |
|
|
00
|
|
|
#12 |
|
Membre régulier
![]() Inscription : mars 2003 Messages : 111 ![]() |
Merci beaucoup pour ta participation;
Je crois que tu as raison pour l'évènement Current J'étais en train d'essayer la piste suivante: le nouveau noeud étant créé à partir du ssfrm, ne faut il pas créer la clé, le texte à partir des données du nouvel enreg; sinon le .Nodes.Add à l'air de tomber du ciel |
|
|
00
|
|
|
#13 | |
![]() ![]() ![]() Christophe Warin Inscription : octobre 2004 Messages : 8 635 ![]() |
Citation:
|
|
|
|
00
|
|
|
#14 |
|
Membre régulier
![]() Inscription : mars 2003 Messages : 111 ![]() |
Non les ss frm sont indépendants, alimentés par du code
|
|
|
00
|
|
|
#15 |
![]() ![]() ![]() Christophe Warin Inscription : octobre 2004 Messages : 8 635 ![]() |
Dans ce cas, le form current ne passera pas. Bon moi j'ai fait avec formulaire dépendant. L'ajout fonctionne sans provoquer le repliage.
ftp://ftp-developpez.com/warin/bd7.zip Essaye de voir comment ça marche. En fait le principe sera quelque peut le même. Y aura juste l'évenement qui change |
|
|
00
|
|
|
#16 | ||||||||
![]() ![]() ![]() Christophe Warin Inscription : octobre 2004 Messages : 8 635 ![]() |
Pour tout ceux que ça intéresse je donne le code. En effet un exemple de remplissage de treeview, ça n'a jamais fait de mal à personne
Le treeview se base sur : On affiche les clients et dans la génération inférieure leur commande Code :
Code :
Et pour que quand j'ajoute une commande au clien, qu'elle s'affiche dans le treeview : Sur l'evenement Current du sous formulaire : Code :
EDIT : Aller une version avec le form After Update : Tout simplement : Code :
Voilà Bon courage |
||||||||
|
|
00
|
|
|
#17 |
|
Membre régulier
![]() Inscription : mars 2003 Messages : 111 ![]() |
Ok merci beaucoup, je vais puiser là dedans
|
|
|
00
|
|
|
#18 | ||
|
Membre régulier
![]() Inscription : mars 2003 Messages : 111 ![]() |
Ca marche à merveille je te remercie encore; dans le bloc que j'avais posté il y avait également des icones affectés aux branches. Je n'arrive pas à les intégrer dans la syntaxe. dans la déclaration je dois rajouter un paramètre pour l'image
Code :
|
||
|
|
00
|
|
|
#19 | ||
![]() ![]() ![]() Christophe Warin Inscription : octobre 2004 Messages : 8 635 ![]() |
Et bien il faut que tu passes l'image à la procédure il s'agit je crois d'un entier qui correspond à l'index dans l'imaglist
Code :
Si tu lui passes le nom de l'image fleche remplace le Integer par String Puis quand tu appelles la sub ajouter, tu lui passe en plus le numéro de l'image Code :
Ajouter ...................., "Fleche"
|
||
|
|
00
|
|
|
#20 |
|
Membre régulier
![]() Inscription : mars 2003 Messages : 111 ![]() |
Oui désolé comme c une image je pensais qu'il fallait la déclarer avec qq chose du genre OLE mais strImage As String ça marche
Merci Dès que je termine tout ça je pense proposer un projet de tuto sur le sujet, qu'est ce qe tu en penses? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com