OVH Cloud OVH Cloud

[WDx] Derouler les branche d'un treeview pas à pas

2 réponses
Avatar
Georges Peyre
Bonjour,

A l'aide d'un bouton Spin, je voudrai commander par décrémentation ou
incrémentation, le déroulement total d'une seule branche, en avançant
ou reculant, dans l'ordre d'affichage du treeview.
Chaque fois qu'on deroule une branche on enroule toutes les autres
branches.

J'ai essayé d'avancer dans le treeview comme dans une liste ( avec
listeselectplus et le n° de la ligne) pour récupérer le texte du noeud
mais l'ordre d'avancement par liste donne un ordre différent de celui
qui est affiché dans le treeview
Comment faire ?
Si vous avez un exemple de code qui me permet de faire celà je suis
preneur

Merci d'avance

Cordialement

--
Elle est pas belle la vie ?

2 réponses

Avatar
Georges Peyre
Je me suis un peu paluché dans mes explications de liste et de treeview :
mais ne cherchez plus j'ai trouvé

En réalité pour faire facilement ce déroulement d'arbre pas à pas j'ai
créé une liste parallèle à l'arbre ( j'avais simplement oublié de la
cocher comme triée ) dans laquelle je ne charge que les racines de
chaque branche : à partir de là tout est simple, j'avance ou recule
dans la liste en récupérant le noeud de la branche et je donne
successivement l'ordre à une procédure qui enroule tout l'arbre entier
puis deroule uniquement la branche sélectionnée dans la liste.

Cordialement

--
Elle est pas belle la vie ?
Avatar
Pascal R.
Georges Peyre a écrit :
Bonjour,

A l'aide d'un bouton Spin, je voudrai commander par décrémentation ou
incrémentation, le déroulement total d'une seule branche, en avançant ou
reculant, dans l'ordre d'affichage du treeview.
Chaque fois qu'on deroule une branche on enroule toutes les autres
branches.

J'ai essayé d'avancer dans le treeview comme dans une liste ( avec
listeselectplus et le n° de la ligne) pour récupérer le texte du noeud
mais l'ordre d'avancement par liste donne un ordre différent de celui
qui est affiché dans le treeview
Comment faire ?
Si vous avez un exemple de code qui me permet de faire celà je suis preneur

Merci d'avance

Cordialement



Bonjour,

Pas d'exemple de code, mais une idée peut-être.

Tu récuperes le chemin ou tu te trouves avec ARBRESELECT,
Tu déroules le noeud ARBREDEROULE, si tu veux en plus
deroules les fils, utilises une boucle avec ARBRERECUPEREFILS
ou utilises la procedure ARBRELISTEFILS.

Ensuite, reviens sur le point d'origine et recupere son pere
(il suffit de rechercher la derniere occurrence de TAB et de ne
pas prendre la derniere partie)

Ensuite même principe, tu enroules tout les fils ( en excluant
celui de départ) grace a ARBRERECUPEREFILS ou ARBRELISTEFILS
selon ta préférence.

Ca ne devrait pas être trop compliqué à mettre en oeuvre.

Mais d'autres ont surement déjà fait cela et en mieux en plus ;-)

Pascal