Bonjour,
Pour un tableau normal ,je sais faire une alternance de couleur de fond pour une ligne.
Dans Scripts -> Report Design(1) -> initialize
j'ai l'instruction suivante : BlancJaune = "0";
Je sélectionne la ligne du tableau où je veux l'alternance de couleur, ensuite je clic sur l'onglet Script et je choisis le Script onRender. Voici les instructions que je vais y inscrire :
1 2 3 4 5 6 7 8 9 10
| if (BlancJaune=="0")
{
this.getStyle().backgroundColor = "White" ;
BlancJaune = "1";
}
else
{
this.getStyle().backgroundColor = "#FFFFBF";
BlancJaune = "0";
} |
Par cela j'obtiens donc l'alternance de couleur de fond de la ligne en question. J'alterne entre blanc et jaune.
Comment faire de même pour un tableau croisé?
Pour un tableau croisé, je ne suis pas capable de sélectionner une ligne. Si je sélectionne une cellule de la ligne en question, et que je clic sur l'onglet Script, il y est écrit ce qui suit dans la fenêtre du Script :
1 This element has no methods
Je ne peux donc faire la même solution que je faisais avec un tableau normal.
J'ai tenté d'appliquer un style au data des cellules de la ligne. Au paramètre Highlights du style crosstab_currency fraichement créé j'y inscrit pour le champ fx, je choisi Equal to avec le bouton et j'inscrit 1 à droite du bouton. J'inscris RGB(255,255,191) donc jaune comme Background Color.
Lorsque j'exécute le rapport, j'obtiens le message d'erreur suivant :
org.eclipse.birt.report.engine.api.EngineException: Expression "row['0'] % 2" is invalid.
Si j'applique le style aux cellules de la ligne et non au data le rapport s'exécute sans erreur mais la ligne reste blanche.
Merci d'avance.
Partager