PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → arbre treeview :cocher case des feuilles d'un noeud
arbre treeview :cocher case des feuilles d'un noeud
Débuté par BBF, 08 jan. 2014 16:33 - 6 réponses
Membre enregistré
148 messages
Popularité : +3 (3 votes)
Posté le 08 janvier 2014 - 16:33
Bonjour

cela doit être tout bête, mais je tourne autour depuis un moment.

dans un treeview avec case à cocher
comment cocher les cases des feuilles lorsque l'on coche la case du noeud parent.

merci
Membre enregistré
940 messages
Popularité : +66 (68 votes)
Posté le 08 janvier 2014 - 17:22
Bonjour,

alors avec ce petit bout de code :

Procedure IHM_Select_Fils(vp_current_id,vp_value,vp_col_name,vp_table_name)

_current_id est un entier=vp_current_id
SI _current_id=0 ALORS _current_id=TableSelect(vp_table_name)
_id_fils est un entier=TableRécupèreFils(vp_table_name,_current_id,taPremier)
TANTQUE _id_fils<>-1
{vp_col_name}[_id_fils]=vp_value
IHM_Select_Fils(_id_fils,vp_value,vp_col_name,vp_table_name)
_id_fils=TableRécupèreFils(vp_table_name,_current_id,taSuivant)
FIN


puis, ajouter ceci dans le code "A Chaque Modification" de votre colonne Interrupteur de votre table :
IHM_Select_Fils(IndiceEnCours(),MoiMême,MoiMême..Nom,ExtraitChaîne(MoiMême..NomComplet,2,"."))


çà devrait fonctionner, pour gérer l'état 3 états de l'interrupteur çà peu se compliquer, mais vous pourrez vous inspirrer de ce code...

bon dèv ;)
Membre enregistré
148 messages
Popularité : +3 (3 votes)
Posté le 09 janvier 2014 - 08:31
bonjour
merci du coup de main, mais ma requête traite des arbres et non des tables hiérarchiques.
Membre enregistré
940 messages
Popularité : +66 (68 votes)
Posté le 09 janvier 2014 - 10:10
re bonjour, autant pour moi :D

Procedure IHM_Select_Fils(vp_current_id,vp_value,vp_tree_name)

PRIVÉ
_current_id est une chaîne=vp_current_id
_tree est une chaîne

SI _current_id<>"" ALORS
_id_fils est une chaîne=ArbreRécupèreFils(vp_tree_name,_current_id,aPremier)
TANTQUE _id_fils<>""
_tree=_current_id+TAB+_id_fils
{vp_tree_name}[_tree]..Cochée=vp_value
IHM_Select_Fils(_tree,vp_value,vp_tree_name)
_id_fils=ArbreRécupèreFils(vp_tree_name,_current_id,aSuivant)
FIN
FIN


et le code dans l'arbre :
IHM_Select_Fils(ArbreSelect(Arbre1),(Arbre1[ArbreSelect(Arbre1)]..Cochée),Arbre1..Nom)
Membre enregistré
148 messages
Popularité : +3 (3 votes)
Posté le 09 janvier 2014 - 10:25
re - merci
entre temps, j'ai retrouvé un procédure dans un vieux projet qui répondait à ce besoin.
qui ressemble assez à ta procédure.
Posté le 03 mars 2014 - 15:07
Bonjour

Je cherche ou trouver le code nécessaire a afficher l'ensemble des répertoires, sous-répertoires et fichiers de l'ensemble des disques. Je suis débutant, je sens bien comment il faut s'y prendre (ça va etre tres long) mais je suis convaincu que ça a déja été fait.

Merci de m'aider



Laurent
Posté le 06 juillet 2016 - 17:33
Il suffit d'utiliser ArbreListeFils avec l'appel d'une proc "cocheCaseFils" dans l'événement modification :

ArbreListeFils(ARBRE_Agent, ArbreSelect(ARBRE_Agent), "cocheCaseFils", (ARBRE_Agent[ArbreSelect(ARBRE_Agent)]..Cochée))

+
Procedure cocheCaseFils(sArbre, sBranche, sElement,sNiveau,nParam)
ARBRE_Agent[sBranche+sElement]..Cochée = nParam