PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WEBDEV 2024 → composant treevieuw
composant treevieuw
Iniciado por jp mottoul, 30,jun. 2004 18:53 - 4 respuestas
Publicado el 30,junio 2004 - 18:53
J'utilise le composer treevieuw pour générer un menu dynamique. Lors du clic
sur une feuille, j'aimerai récupérer l'identifiant du menu (Menu.IDMenu)
afin de soit ouvrir une page correspondnate ou placer le contenu
correspondant a l'ID dans un champ sur une autre frame par expl.
Or j'ai du mal a paramétrer le ArbreDéfinitAction !

Voici mon code dans ma page :


ArbreCrée(monarbre,PAGEWW..Nom, BTPAGEAFF..Nom)

ArbreAjoute(monarbre,"home")
IDHome = 0
HExécuteRequête(RQT_MenuSupp,hRequêteDéfaut,IDHome)
HLitPremier(RQT_MenuSupp)
TANTQUE PAS HEnDehors(RQT_MenuSupp)
IDMEnu = RQT_MenuSupp.IDMenu
LBLMEnu = RQT_MenuSupp.Libelle
IDSSMenu = RQT_MenuSupp.IDMenu
ArbreAjoute(monarbre,home+TAB+LBLMEnu,Default,Default,IDMEnu)
HFiltre(Menu,IDMenuSup,IDSSMenu)
HLitPremier(Menu,IDMenuSup)
TANTQUE PAS HEnDehors

ArbreAjoute(monarbre,home+TAB+LBLMEnu+TAB+Menu.Libelle,Default,Default,Menu.
IDMenu)

ArbreDéfinitAction(monarbre,home+TAB+LBLMEnu+TAB+Menu.Libelle,PAGEWW..Valeur
, action..?????, NouveauNavigateur) // c'est ici que je comprend pas :-(
HLitSuivant(Menu,IDMenuSup)
FIN
HDésactiveFiltre(Menu)
HLitSuivant(RQT_MenuSupp)
FIN
ArbreDéroule(monarbre,home)

ArbreAffiche(monarbre,CHPHTML..Nom)
Publicado el 01,julio 2004 - 10:31
Salut,

En fait, quand tu utilise la fonction ArbreDefinitAction(), tu dois
indiquer un bouton contenant le code que tu exécuteras pour chaque clic sur
un élément du treeview... En d'autres termes, il faut que tu couple chacun
de des ArbreAjoute() avec un ArbreDefinitAction().
ex:
ArbreAjoute("MonArbre","Racine" + TAB +
"Noeud1",aDéfaut,aDéfaut,IDNoeud)
ArbreDéfinitAction("ArbreRef","Racine" + TAB +
"Noeud1",btnAction..Nom,actionBouton) // actionbouton étant un paramètre de
la fonction indiquant que l'action a effectuer lors du clic sur ce noeud est
d'éxécuter le code du bouton.

Ensuite, dans le code de ton bouton (dans mon cas btnAction) tu utilises la
fonction ArbreRécupèreIdentifiant() de la manière suivante:

IDTreeview=ArbreRécupèreIdentifiant("MonArbre",ArbreSelect("MonArbre"))

Et à ce moment là tu peux agir sur page ou frameset à ta convenance...

En récapitulant, la solution à mon avis pour ton problème est de créer un
bouton action contenant le code qui agira sur la page en fonction de
l'identifiant du treeview puis dans la description du treeview
(ArbreAjoute() et ArbreDefinitAction()...) tu définis pour chaque noeud de
ton arbre la même action qui est celle du bouton...

Espérant avoir été assez clair...

Tiens moi au courant

Bon Dev'

Guillaume


"jp mottoul" <jpmottoul@apimonde.com> a écrit dans le message de
news:40e2d428$1@news.pcsoft.fr...

J'utilise le composer treevieuw pour générer un menu dynamique. Lors du

clic
sur une feuille, j'aimerai récupérer l'identifiant du menu (Menu.IDMenu)
afin de soit ouvrir une page correspondnate ou placer le contenu
correspondant a l'ID dans un champ sur une autre frame par expl.
Or j'ai du mal a paramétrer le ArbreDéfinitAction !

Voici mon code dans ma page :


ArbreCrée(monarbre,PAGEWW..Nom, BTPAGEAFF..Nom)

ArbreAjoute(monarbre,"home")
IDHome = 0
HExécuteRequête(RQT_MenuSupp,hRequêteDéfaut,IDHome)
HLitPremier(RQT_MenuSupp)
TANTQUE PAS HEnDehors(RQT_MenuSupp)
IDMEnu = RQT_MenuSupp.IDMenu
LBLMEnu = RQT_MenuSupp.Libelle
IDSSMenu = RQT_MenuSupp.IDMenu
ArbreAjoute(monarbre,home+TAB+LBLMEnu,Default,Default,IDMEnu)
HFiltre(Menu,IDMenuSup,IDSSMenu)
HLitPremier(Menu,IDMenuSup)
TANTQUE PAS HEnDehors


ArbreAjoute(monarbre,home+TAB+LBLMEnu+TAB+Menu.Libelle,Default,Default,Menu.
IDMenu)


ArbreDéfinitAction(monarbre,home+TAB+LBLMEnu+TAB+Menu.Libelle,PAGEWW..Valeur
, action..?????, NouveauNavigateur) // c'est ici que je comprend pas :-(
HLitSuivant(Menu,IDMenuSup)
FIN
HDésactiveFiltre(Menu)
HLitSuivant(RQT_MenuSupp)
FIN
ArbreDéroule(monarbre,home)

ArbreAffiche(monarbre,CHPHTML..Nom)

Publicado el 01,julio 2004 - 17:11
Ca ma l'air clair... je vais tester...
Ce que je ne comprenais pas bien, c'etait le champ du composant que
récupérais le bouton...

Merci

"Guillaume" <gruelle@coletica.fr> a écrit dans le message de
news:40e3b01a$1@news.pcsoft.fr...

Salut,

En fait, quand tu utilise la fonction ArbreDefinitAction(), tu dois
indiquer un bouton contenant le code que tu exécuteras pour chaque clic

sur
un élément du treeview... En d'autres termes, il faut que tu couple chacun
de des ArbreAjoute() avec un ArbreDefinitAction().
ex:
ArbreAjoute("MonArbre","Racine" + TAB +
"Noeud1",aDéfaut,aDéfaut,IDNoeud)
ArbreDéfinitAction("ArbreRef","Racine" + TAB +
"Noeud1",btnAction..Nom,actionBouton) // actionbouton étant un paramètre

de
> la fonction indiquant que l'action a effectuer lors du clic sur ce noeud
est
d'éxécuter le code du bouton.

Ensuite, dans le code de ton bouton (dans mon cas btnAction) tu utilises

la
fonction ArbreRécupèreIdentifiant() de la manière suivante:


IDTreeview=ArbreRécupèreIdentifiant("MonArbre",ArbreSelect("MonArbre"))

Et à ce moment là tu peux agir sur page ou frameset à ta convenance...

En récapitulant, la solution à mon avis pour ton problème est de créer un
bouton action contenant le code qui agira sur la page en fonction de
l'identifiant du treeview puis dans la description du treeview
(ArbreAjoute() et ArbreDefinitAction()...) tu définis pour chaque noeud de
ton arbre la même action qui est celle du bouton...

Espérant avoir été assez clair...

Tiens moi au courant

Bon Dev'

Guillaume


"jp mottoul" <jpmottoul@apimonde.com> a écrit dans le message de
news:40e2d428$1@news.pcsoft.fr...

J'utilise le composer treevieuw pour générer un menu dynamique. Lors du
clic

sur une feuille, j'aimerai récupérer l'identifiant du menu (Menu.IDMenu)
afin de soit ouvrir une page correspondnate ou placer le contenu
correspondant a l'ID dans un champ sur une autre frame par expl.
Or j'ai du mal a paramétrer le ArbreDéfinitAction !

Voici mon code dans ma page :


ArbreCrée(monarbre,PAGEWW..Nom, BTPAGEAFF..Nom)

ArbreAjoute(monarbre,"home")
IDHome = 0
HExécuteRequête(RQT_MenuSupp,hRequêteDéfaut,IDHome)
HLitPremier(RQT_MenuSupp)
TANTQUE PAS HEnDehors(RQT_MenuSupp)
IDMEnu = RQT_MenuSupp.IDMenu
LBLMEnu = RQT_MenuSupp.Libelle
IDSSMenu = RQT_MenuSupp.IDMenu
ArbreAjoute(monarbre,home+TAB+LBLMEnu,Default,Default,IDMEnu)
HFiltre(Menu,IDMenuSup,IDSSMenu)
HLitPremier(Menu,IDMenuSup)
TANTQUE PAS HEnDehors



ArbreAjoute(monarbre,home+TAB+LBLMEnu+TAB+Menu.Libelle,Default,Default,Menu.
IDMenu)



ArbreDéfinitAction(monarbre,home+TAB+LBLMEnu+TAB+Menu.Libelle,PAGEWW..Valeur
> > , action..?????, NouveauNavigateur) // c'est ici que je comprend pas
:-(
HLitSuivant(Menu,IDMenuSup)
FIN
HDésactiveFiltre(Menu)
HLitSuivant(RQT_MenuSupp)
FIN
ArbreDéroule(monarbre,home)

ArbreAffiche(monarbre,CHPHTML..Nom)



Publicado el 05,julio 2004 - 13:28
Cela fonctionne super bien... merci
Seule problème... a chaque clic sur le neud, la page correspondante
s'affiche bien mais le treeview ne reste pas déroulé :-(
J'ai bien essayé avec un " arbredéroule ("monarbre",
arbreselect("monarbre")) " mais cela ne change rien !

JP




"Guillaume" <gruelle@coletica.fr> a écrit dans le message de
news:40e3b01a$1@news.pcsoft.fr...

Salut,

En fait, quand tu utilise la fonction ArbreDefinitAction(), tu dois
indiquer un bouton contenant le code que tu exécuteras pour chaque clic

sur
un élément du treeview... En d'autres termes, il faut que tu couple chacun
de des ArbreAjoute() avec un ArbreDefinitAction().
ex:
ArbreAjoute("MonArbre","Racine" + TAB +
"Noeud1",aDéfaut,aDéfaut,IDNoeud)
ArbreDéfinitAction("ArbreRef","Racine" + TAB +
"Noeud1",btnAction..Nom,actionBouton) // actionbouton étant un paramètre

de
> la fonction indiquant que l'action a effectuer lors du clic sur ce noeud
est
d'éxécuter le code du bouton.

Ensuite, dans le code de ton bouton (dans mon cas btnAction) tu utilises

la
fonction ArbreRécupèreIdentifiant() de la manière suivante:


IDTreeview=ArbreRécupèreIdentifiant("MonArbre",ArbreSelect("MonArbre"))

Et à ce moment là tu peux agir sur page ou frameset à ta convenance...

En récapitulant, la solution à mon avis pour ton problème est de créer un
bouton action contenant le code qui agira sur la page en fonction de
l'identifiant du treeview puis dans la description du treeview
(ArbreAjoute() et ArbreDefinitAction()...) tu définis pour chaque noeud de
ton arbre la même action qui est celle du bouton...

Espérant avoir été assez clair...

Tiens moi au courant

Bon Dev'

Guillaume


"jp mottoul" <jpmottoul@apimonde.com> a écrit dans le message de
news:40e2d428$1@news.pcsoft.fr...

J'utilise le composer treevieuw pour générer un menu dynamique. Lors du
clic

sur une feuille, j'aimerai récupérer l'identifiant du menu (Menu.IDMenu)
afin de soit ouvrir une page correspondnate ou placer le contenu
correspondant a l'ID dans un champ sur une autre frame par expl.
Or j'ai du mal a paramétrer le ArbreDéfinitAction !

Voici mon code dans ma page :


ArbreCrée(monarbre,PAGEWW..Nom, BTPAGEAFF..Nom)

ArbreAjoute(monarbre,"home")
IDHome = 0
HExécuteRequête(RQT_MenuSupp,hRequêteDéfaut,IDHome)
HLitPremier(RQT_MenuSupp)
TANTQUE PAS HEnDehors(RQT_MenuSupp)
IDMEnu = RQT_MenuSupp.IDMenu
LBLMEnu = RQT_MenuSupp.Libelle
IDSSMenu = RQT_MenuSupp.IDMenu
ArbreAjoute(monarbre,home+TAB+LBLMEnu,Default,Default,IDMEnu)
HFiltre(Menu,IDMenuSup,IDSSMenu)
HLitPremier(Menu,IDMenuSup)
TANTQUE PAS HEnDehors



ArbreAjoute(monarbre,home+TAB+LBLMEnu+TAB+Menu.Libelle,Default,Default,Menu.
IDMenu)



ArbreDéfinitAction(monarbre,home+TAB+LBLMEnu+TAB+Menu.Libelle,PAGEWW..Valeur
> > , action..?????, NouveauNavigateur) // c'est ici que je comprend pas
:-(
HLitSuivant(Menu,IDMenuSup)
FIN
HDésactiveFiltre(Menu)
HLitSuivant(RQT_MenuSupp)
FIN
ArbreDéroule(monarbre,home)

ArbreAffiche(monarbre,CHPHTML..Nom)



Publicado el 05,julio 2004 - 14:02
Il faut faire un ArbreAffiche(.......) pour afficher les modifs effectuées
dans le treeview.... ArbreDéroule(...) par exemple !

--
Gilles Balp
http://cerbermail.com/…
(clic sur ce lien pour me contacter en privé)
"jp mottoul" <jpmottoul@apimonde.com> a écrit dans le message de
news:40e91f77$1@news.pcsoft.fr...

Cela fonctionne super bien... merci
Seule problème... a chaque clic sur le neud, la page correspondante
s'affiche bien mais le treeview ne reste pas déroulé :-(
J'ai bien essayé avec un " arbredéroule ("monarbre",
arbreselect("monarbre")) " mais cela ne change rien !

JP




"Guillaume" <gruelle@coletica.fr> a écrit dans le message de
news:40e3b01a$1@news.pcsoft.fr...

Salut,

En fait, quand tu utilise la fonction ArbreDefinitAction(), tu dois
indiquer un bouton contenant le code que tu exécuteras pour chaque clic
sur

un élément du treeview... En d'autres termes, il faut que tu couple

chacun
de des ArbreAjoute() avec un ArbreDefinitAction().
ex:
ArbreAjoute("MonArbre","Racine" + TAB +
"Noeud1",aDéfaut,aDéfaut,IDNoeud)
ArbreDéfinitAction("ArbreRef","Racine" + TAB +
"Noeud1",btnAction..Nom,actionBouton) // actionbouton étant un paramètre
de

la fonction indiquant que l'action a effectuer lors du clic sur ce noeud
est

d'éxécuter le code du bouton.

Ensuite, dans le code de ton bouton (dans mon cas btnAction) tu utilises
la

fonction ArbreRécupèreIdentifiant() de la manière suivante:


IDTreeview=ArbreRécupèreIdentifiant("MonArbre",ArbreSelect("MonArbre"))


Et à ce moment là tu peux agir sur page ou frameset à ta convenance...

En récapitulant, la solution à mon avis pour ton problème est de créer

un
bouton action contenant le code qui agira sur la page en fonction de
l'identifiant du treeview puis dans la description du treeview
(ArbreAjoute() et ArbreDefinitAction()...) tu définis pour chaque noeud

de
ton arbre la même action qui est celle du bouton...

Espérant avoir été assez clair...

Tiens moi au courant

Bon Dev'

Guillaume


"jp mottoul" <jpmottoul@apimonde.com> a écrit dans le message de
news:40e2d428$1@news.pcsoft.fr...

J'utilise le composer treevieuw pour générer un menu dynamique. Lors

du
clic
sur une feuille, j'aimerai récupérer l'identifiant du menu

(Menu.IDMenu)
afin de soit ouvrir une page correspondnate ou placer le contenu
correspondant a l'ID dans un champ sur une autre frame par expl.
Or j'ai du mal a paramétrer le ArbreDéfinitAction !

Voici mon code dans ma page :


ArbreCrée(monarbre,PAGEWW..Nom, BTPAGEAFF..Nom)

ArbreAjoute(monarbre,"home")
IDHome = 0
HExécuteRequête(RQT_MenuSupp,hRequêteDéfaut,IDHome)
HLitPremier(RQT_MenuSupp)
TANTQUE PAS HEnDehors(RQT_MenuSupp)
IDMEnu = RQT_MenuSupp.IDMenu
LBLMEnu = RQT_MenuSupp.Libelle
IDSSMenu = RQT_MenuSupp.IDMenu
ArbreAjoute(monarbre,home+TAB+LBLMEnu,Default,Default,IDMEnu)
HFiltre(Menu,IDMenuSup,IDSSMenu)
HLitPremier(Menu,IDMenuSup)
TANTQUE PAS HEnDehors




ArbreAjoute(monarbre,home+TAB+LBLMEnu+TAB+Menu.Libelle,Default,Default,Menu.
IDMenu)




ArbreDéfinitAction(monarbre,home+TAB+LBLMEnu+TAB+Menu.Libelle,PAGEWW..Valeur
, action..?????, NouveauNavigateur) // c'est ici que je comprend pas
:-(

HLitSuivant(Menu,IDMenuSup)
FIN
HDésactiveFiltre(Menu)
HLitSuivant(RQT_MenuSupp)
FIN
ArbreDéroule(monarbre,home)

ArbreAffiche(monarbre,CHPHTML..Nom)