|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 6 ![]() |
Dans le script d'un champ Data, j'initialise une var globale:
reportContext.setPersistentGlobalVariable("Cumul_Evol", data["NB_Group1/Year_Group/ID_ORIGINE"].toString()); Et je la récupère dans une Cross tab avec un getPersistentGlobalVariable. Seul bémol, ma Cross Tab appelant cette var globale est affichée avant la Cross Tab l'initialisant . Une valeur est bien remontée par la var globale mais elle n'est pas juste. Est ce que l'execution du report me permet d'exploiter cette var globale dans une cross tab affichée avant la cross tab l'initialisant ? merci |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Consultant en Business Intelligence Inscription : mai 2009 Messages : 186 ![]() |
Salut,
La réponse est à priori non, mais puisque tu utilises une variable persistante tu devrais pouvoir résoudre ce problème en créant le script du setPersistent dans l'évènement "onCreate" du champs data pour le crosstab d'init, et le getPersistent dans l'évènement "onRender" pour l'autre crosstab. En revanche tous les éventuels autres scripts utilisant la var globale du crosstab "onRender" devront du coup être également positionnés sur l'évènement onRender. Bon courage A+ |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 6 ![]() |
Merci pour l'information.
Par contre, pour afficher la valeur portée par la variable globale, je passe par un champ data dont l'expression est la suivante: res = "" if (reportContext.getPersistentGlobalVariable("Cumul_Evol") != null ) { res = reportContext.getPersistentGlobalVariable("Cumul_Evol"); } Par ce bais, je ne peux pas intercepter l'évènement OnRender. Dois-je passer le getPersistent dans le script du champ data ? Et ensuite, comment l'afficher dans le champ data? merci |
|
|
00
|
|
|
#4 | ||
|
Membre confirmé
![]() Consultant en Business Intelligence Inscription : mai 2009 Messages : 186 ![]() |
Salut,
en effet il faut appliquer dans le script du champs data, en sélectionnant l'évènement onRender: Code :
C'est une solution simple et rapide mais (et oui il y a toujours un "mais" Tiens nous au courant A+ |
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 6 ![]() |
mais dans ce cas je dois mettre quoi dans l'expression du data ?
Est ce que je peux mettre 0 car une valeur est obligatoire. |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 6 ![]() |
Apres avoir testé ta méthode, je me rends compte que dans ma crosstab exploitant la var globale, je remonte à chaque fois la valeur de la cross tab précédente.
Ce qui peut paraitre logique étant donné que l'initialisation de la var globale se fait après son affichage. Du coup, pas d'autre solution que de copier/coller la crosstab et de l’exécuter avant en masquée!
|
|
|
00
|
|
|
#7 | |||
|
Membre confirmé
![]() Consultant en Business Intelligence Inscription : mai 2009 Messages : 186 ![]() |
Citation:
Code :
A+ |
|||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 6 ![]() |
oui la solution la plus simple est la duplication.
Mais pas très économe niveau ressource ![]() Merci donino et a bientôt (j'en suis sûr) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com