PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WEBDEV 2024 → recup valeur zones repetées
recup valeur zones repetées
Iniciado por remi, mar., 28 2006 12:32 PM - 8 respostas
Publicado em março, 28 2006 - 12:32 PM
Comment accéder aux valeurs d'un champs d'une zone répétées? je n'arrive pas à le retrouver
Publicado em março, 28 2006 - 4:22 PM
Bonjour,
on y accède généralement par l'indice (ex: MaZone.ATT_MonChamp[i] permet d'accéder à la valeur de la ième occurrence de MonChamp si l'attribut ATT_MonChamp a été défini sur la valeur de MonChamp dans la description de la zone répétée);
une autre méthode possible et très conviviale est de passer par un bouton intégré à la zone répétée - malheureusement jusqu'à présent la page devait être générée par l'assistant pour que cela fonctionne; un clic sur le bouton permet de récupérer les valeurs de l'enregistrement de zone en cours.
Publicado em março, 28 2006 - 4:28 PM
Nom de la ZR + nom attribut . ex ) ZR1.ATTRIB1
L'attribut doit correspondre à la valeur, libellé.... du champ à récupérer

Didier Raf
Publicado em março, 28 2006 - 5:13 PM
J'ai essayé ta solution didier mais lorsque je l'applique ça me renvoie un résultat blanc...
Publicado em março, 28 2006 - 6:58 PM
En fait le ZR1.ATTattribut marche mais il ne me renvoie qu'une valeur...

Or je veux calculer dans la zone répétée, le libéllé d'un grade à partir de son code.
Quand j'emploie cette méthode, ça me donne tout le temps le même libéllé puisque ça garde tt le temps le même code du grade.

Vous avez une idée
Publicado em março, 28 2006 - 6:58 PM
la solution de Didier est valable si tu cherches à récupérer la valeur en cours ds la zone répétée (mais ce n'est pas toujours le cas, et ds certains cas tu peux obtenir un résultat blanc) - vérifie quand même que tu as bien créé dans ta zone répétée un attribut lié à la valeur du champ qui t'interesse - dans le cas général, essaie plutôt ma solution (cf 1ère réponse)
Publicado em março, 28 2006 - 7:32 PM
Je ne sais pas si tu veux calculer le grade puis l'afficher ds la zone repétée, ou le calculer à partir d'une zone répétée déja affichée;
dans le premier cas, il suffit de mettre dans le code "Affichage d'une ligne de ZR1 (serveur)" quelquechose comme : ZR1.ATTlibGrade = Grade.Libellé [en se positionnant sur le bon enregistrement de Grade avant, grâce ici à une ligne du type : HlitRecherchePremier(Grade, Code, ZR1.ATTCode)]
Dans le second cas, sélectionner un enregistrement de zone ne suffit hélas pas à en faire l'enregistrement en cours, il faut passer par les indices (à supposer que tu connaisses celui qui t'interesse) ou par un bouton intégré à la zone répétée...
Publicado em março, 29 2006 - 11:03 AM
C'est plutot la deuxieme solution puisque j'ai le bon code_grade qui est un attribut de ma zone répétée.
Mais je ne veux pas l'afficher dans ma zone répétée et je préfère utiliser le libéllé exact du grade (qui lui n'est pas un attribut).
Sauf que ça m'affiche tjs le même quand je fais ZR.ATTcode_grade.

Comme tu dis, il faut surement connaitre les indices et c'est la que ça devient chaud...
Publicado em março, 29 2006 - 11:45 AM
j'ai eu le même problème que toi

en fait, si tu veux récupérer la valeur d'un champ texte par exemple, tu mets un bouton dans ta zone répétée, tu ajoute un attribut et tu lie ce bouton à l'attribut.
Dans le code de cet attribut, tu récupère la valeur de ton champ texte en faisant par exemple "Info(Attribut1)"

Je viens de le faire pour moi et ça fonctionne.
Ce qui ne fonctionne pas, c'est de récupérer directement la valeur du champ (Info(saisie1)). Là, il affichera toujours la même chose.

Bon dev