PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → Probleme d'affichage dans un arbre
Probleme d'affichage dans un arbre
Débuté par tacfl, 21 avr. 2017 09:39 - 1 réponse
//hostimage.webdev.info/avatars/G26nCWywFeTpXAvHGmsRQ
Membre enregistré
8 messages
Posté le 21 avril 2017 - 09:39
Bonjour,

Je réalise une application sous WinDev 21 qui a pour but de représenter des éléments sous forme hiérarchique (hiérarchie de 3 niveaux). J'ai réussi sans problème à créer mon arbre et à ajouter (ou supprimer) des éléments de cette arbre. Cependant, il me reste un problème majeur dont j'ignore totalement la cause. En effet, je cherche à faire des traitements différents en fonction du statut de l'élément sélectionne (racine, nœud ou feuille) mais lorsque que je sélectionne (et réalise un traitement) sur une feuille toute les autres feuilles des autres nœuds disparaisse de mon arbre. Je suis obligé de fermer l'application et de la rouvrir pour que mes feuilles reviennent.

En espérant que vous puissiez m'aider,
Cordialement.
//hostimage.webdev.info/avatars/G26nCWywFeTpXAvHGmsRQ
Membre enregistré
8 messages
Posté le 21 avril 2017 - 09:41
Juste un ajout, voici le traitement que je réalise sur l'élément sélectionné.

pos est une chaîne


PROCEDURE INTERNE Positionarbre()

SI ArbreRécupèreFils(MoiMême,ArbreSelect(ARBRE_test),aPremier) = "" ALORS //ArbreTypeElément(MoiMême,ArbreSelect(ARBRE_test))= aFeuille ALORS
Info(ArbreRécupèreFils(MoiMême,ArbreSelect(ARBRE_test),aPremier))
pos="feuille"
Info(pos)
RETOUR

SINON
SI Contient(ArbreSelect(ARBRE_test)," ") = Vrai
pos="noeud"
Info(pos)
RETOUR
SINON
pos="aRacine"
Info(pos)
RETOUR
FIN
FIN
FIN






PROCEDURE INTERNE ouvrefenetre()

SI pos = "noeud" ALORS
Ouvre(FEN_Fiche_Test_Ensemble_2)
RETOUR
SINON
SI pos = "aRacine" ALORS
Ouvre(FEN_Fiche_Test_Projet)
RETOUR
SINON
SI pos = "feuille" ALORS
Ouvre(FEN_Fiche_Test_Sous_Ensemble_2)
RETOUR
SINON
Erreur("rien")
RETOUR
FIN
FIN
FIN

FIN

ArbreDéroule(MoiMême,ArbreSelect(ARBRE_test))
Positionarbre()
ouvrefenetre()