IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

BIRT Discussion :

Comment alterner la couleur de fond de la ligne détail dans un tableau croisé?


Sujet :

BIRT

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Juillet 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Juillet 2014
    Messages : 31
    Points : 33
    Points
    33
    Par défaut Comment alterner la couleur de fond de la ligne détail dans un tableau croisé?
    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    Peut-être faudrait-il essayer avec ceci dans l'expression highlight :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    row["groupRow"] % 2 Not Equal to 0
    groupRow est une aggregation RUNNINGCOUNT de type entier dans le binding

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Juillet 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Juillet 2014
    Messages : 31
    Points : 33
    Points
    33
    Par défaut Solution
    Dans Scripts -> Report Design(1) -> initialize
    j'ai l'instruction suivante : BlancJaune = "1";

    Au script onCreate du data de la première colonne du tableau croisé j'y inscris : BlancJaune++;

    À chacune des cellules de data du tableau croisé, j'y inscris à l'onglet Highlights sous Condition : BlancJaune%2
    suivi du bouton «Equal to» et de la valeur 0. Le champ Background Color = RGB(255,255,191).

Discussions similaires

  1. [LibreOffice][Tableur] Comment copier la couleur de fond d'une cellule existante dans une autre ?
    Par elfasys dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 28/02/2014, 22h28
  2. Réponses: 3
    Dernier message: 28/02/2006, 16h39
  3. Comment changer la couleur de fond d'une ligne du TRichEdit
    Par tibi666 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 28/09/2005, 18h31
  4. Réponses: 1
    Dernier message: 24/09/2005, 21h44
  5. Réponses: 4
    Dernier message: 26/07/2005, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo