[WDx] Derouler les branche d'un treeview pas à pas
2 réponses
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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 ?
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.
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 ?
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
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 ;-)
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 ;-)