PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WEBDEV 2024 → Zone répétée et champs dynamiques
Zone répétée et champs dynamiques
Started by invité, Nov., 16 2005 2:42 PM - 5 replies
Posted on November, 16 2005 - 2:42 PM
Bonjour,

J'ai cherché mais n'est pas vu de réponse à ce sujet... Je vais simplifier au maximum...

Dans webdev 9 : j'ai une zone répétée et je voudrais dynamiquement travailler dessus.

Ex d'une colonne de ma zone répétée :
attibut : lien1
champ : ligne1
propriété : url action

J'ai 2 autres colonnes identiques avec lien2, ligne2 et lien3, ligne3

Dans le code je voudrais faire une boucle de ce style :

pour i = 1 a 3
lignei..visible=faux
fin

Sachat que cette syntaxe ne marche pas :
{"ligne"+i}..visible=faux
car il me remplace ligne1, ligne 2 et ligne3 par le contenu des champs !

J'ai essayé de faire ça :
monlien est une chaine
monlien = "ligne"+i
monlien..visible=faux
là non plus ça ne marche pas car "lien" n'est pas remplacé par "ligne1"...

Merci si vous pouvez m'éclairer !
Posted on November, 17 2005 - 9:07 AM
si j'ai bien compris tu veux pouvoir masquer le lien de ta zone répétée par programmation.

si c'est le cas il te suffit de créer un nouvel attribut dans ta zone répétée qui va agir sur le propriété visible de ton lien au lieu du libellé.

ce qui donne

attribut : lien1
champ : ligne1
propriété : url action

atribut : lienvisible1
champ : ligne1
propriété : visible

ensuite il faut affecté lienvisible1 = faux pour masquer ta zone
ou lienvisible1 = vrai pour l'afficher

en espérant avoir bien compris ton problème et que cela va t'aider
Posted on November, 17 2005 - 9:59 AM
Merci "juju" pour ta réponse mais ce n'est pas ça... je me suis peut être mal exprimé ! En gros je veux écrire à la place de ça :

si lien1 = "" alors
ligne1..visible=Faux
FIN
si lien2 = "" alors
ligne2..visible=Faux
FIN
si lien3 = "" alors
ligne3..visible=Faux
FIN

Ceci :
j=1
pour i = 1 a 3
si lien[i] = "" alors
ligne[j]..visible=faux
fin
j++
fin

Je n'arrive pas à traduire "lien[i]" en lien1, lien2 et lien 3
Idem pour ligne[j]

J'ai essayé différentes syntaxes comme :
{ligne+j}..visible=faux
mais ça ne marche pas car au lieu du nom du champ "ligne1" j'obtiens le contenu du champ ligne1 !
Donc si dans ligne1 le contenu du champ est "ici" alors ça me donne -->
ici..visible=faux au lieu de ligne1..visible=faux !

J'espère que c'est assez clair...
Posted on November, 17 2005 - 11:42 PM
Salut,

il faut manipuler les attributs et non les champs de la ZR. C'est de là que
vient ton problème. Regarde dans l'aide ou sur ce forum et tu trouveras tes
réponses.
Il faudrait dans ton cas, créer un attribut dans la ZR portant sur ton lien
et avec la propriété Visible. Disons qu'il s'appelle ZLienVisible.

Pour modifier sa valeur pour la ligne (de la ZR) en cours, tu fais :
ZLienVisible = Vrai (ou faux)
Pour modiifer sa valeur pour une ligne précise (la 3 par ex) :
ZLienVisible[3] = Vrai (ou faux)

Bon dev,

Olivier

notre invité a dit :

Merci "juju" pour ta réponse mais ce n'est pas ça... je me suis peut être
mal exprimé ! En gros je veux écrire à la place de ça :

si lien1 = "" alors
ligne1..visible=Faux
FIN
si lien2 = "" alors
ligne2..visible=Faux
FIN
si lien3 = "" alors
ligne3..visible=Faux
FIN

Ceci :
j=1
pour i = 1 a 3
si lien[i] = "" alors
ligne[j]..visible=faux
fin
j++
fin

Je n'arrive pas à traduire "lien[i]" en lien1, lien2 et lien 3
Idem pour ligne[j]

J'ai essayé différentes syntaxes comme :
{ligne+j}..visible=faux
mais ça ne marche pas car au lieu du nom du champ "ligne1" j'obtiens le
contenu du champ ligne1 !
Donc si dans ligne1 le contenu du champ est "ici" alors ça me donne -->
ici..visible=faux au lieu de ligne1..visible=faux !

J'espère que c'est assez clair...



Posted on November, 18 2005 - 8:40 AM
Merci Olivier pour ta réponse. J'avais bien cherché dans l'aide et sur le forum mais je n'ai rien trouvé qui correspondait à mon problème... Peut être n'ai je pas utilisé les bons mots clefs ??

En fait je cherche à aller plus loin : ce cas là va me permettre d'en résoudre d'autres en programmation !

Si je comprends bien avec webdev on ne peut pas faire de boucle en créant dynamiquement des noms de champs ou atteindre certaines propriétés ? Si on veut rester dans le code : on est obligé de faire des SI...Sinon...Fin donc si j'ai 20 éléments à traiter --> je fais 20 fois des SI...sinon...fin ??!!
Posted on November, 18 2005 - 11:20 AM
Salut,

de rien ;-)

Pour les mots clés, on appelle souvent une zone répétée, une ZR donc tu peux chercher avec zone ou ZR.

Si je comprends bien avec webdev on ne peut pas faire de boucle en créant dynamiquement des noms de champs ou
atteindre certaines propriétés ? Si on veut rester dans >le code : on est obligé de faire des SI...Sinon...Fin donc si
j'ai 20 éléments à traiter --> je fais 20 fois des SI...sinon...fin ??!!


Si, on peut cela s'appelle des indirections. Ce que tu avais fait dans un de tes mails précédent me paraît pas mal mais
cela ne portait pas sur le bon attribut il me semble et c'est pour cela que ça ne marchait pas.

Bon dev.

Olivier

Notre invité a tapoté :

Merci Olivier pour ta réponse. J'avais bien cherché dans l'aide et sur le forum mais je n'ai rien trouvé qui
correspondait à mon problème... Peut être n'ai je pas utilisé les bons mots clefs ??

En fait je cherche à aller plus loin : ce cas là va me permettre d'en résoudre d'autres en programmation !

Si je comprends bien avec webdev on ne peut pas faire de boucle en créant dynamiquement des noms de champs ou
atteindre certaines propriétés ? Si on veut rester dans le code : on est obligé de faire des SI...Sinon...Fin donc si
j'ai 20 éléments à traiter --> je fais 20 fois des SI...sinon...fin ??!!