Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1





Bien le bonjour,
J'essaie de modifier la valeur de tous les rows pour une colonne donnée de ma datawindow, sachant que ma colonne en question est dans un header group.
Pour modifier tous les rows de la colonne, il semble qu'il suffise de faire :
madatawindow.object.macolonne.current = 'un exemple'
current étant le datasource... Car si j'ai bien compris, il faut spécifier au moins un élément parmis le row, la source ou le buffer.
macolonne, dans mon cas est un compute field.
Mais lorsque je fais cela, j'obtiens une erreur "accessing external object".
Voici ma datawindow :
______________________________________ header ______________________________________ ______________________________________ 1: header group account_num ______________________________________ ... mes colonnes et compute fields ... ______________________________________ detail ______________________________________ ______________________________________ 1: trailer group account_num ______________________________________ ______________________________________ summary ______________________________________ ______________________________________ footer ______________________________________
On dirait que le problème vient du fait que j'ai un "header group", car dans des datawindow classiques je n'ai jamais eu de problème d'accès aux colonnes.
J'ai contrôlé que j'avais bien un rowcount positif avant d'essayer d'accéder à mes colonnes
Une idée ?
Dernière modification par Nyphel (01-08-2008 13:22:38)
Hors ligne




Nyphel a écrit:
macolonne, dans mon cas est un compute field.
Ben, si c'est vraiment un computedField, ce n'est pas une colonne, et en plus il n'y a qu'un seul buffer puisque ce controle ne 'contient' pas vraiment des donnees, juste une expression. Et pour modifier l'expression:
dw_1.Modify("tacolonne.Expression='<expression>'") // ou... dw_1.Object.tacolonne.Expression='<expression>'
Le fait qu'il soit dans le header group ne change rien, puisque ce controle est unique, on peut y acceder directement par son nom...
Par contre, si par 'compute field' tu voulais dire "une colonne obtenue a partir d'un compute DB", alors la, ca change tout...
Hors ligne





Heu... Et bien... Disons que j'ouvre ma datawindow dans le paint, je fais un Insert -> Control -> Computed field.
Je ne sais pas ce qu'est "une colonne obtenue a partir d'un compute DB", mais j'ai l'impression que ce n'est pas mon cas ;)
Cortex je te remercie pour ton aide, c'était exactement ça mon problème. Je considérais que les computed fields étaient des colonnes comme les autres, et il ne m'est même pas venu à l'idée de faire une recherche sur leurs propriétés :-/.
Hors ligne
Pages: 1