Bonjour,
Mon problème est simple : je voudrais que ma bande détail soit un coup grise, un coup blanche et un coup rouge (par exemple). Je n'y arrive pas.
Si on ne peut faire que deux couleurs ce n'est pas grave.
Merci.
Bonjour,
Mon problème est simple : je voudrais que ma bande détail soit un coup grise, un coup blanche et un coup rouge (par exemple). Je n'y arrive pas.
Si on ne peut faire que deux couleurs ce n'est pas grave.
Merci.
C'est (pour 2 couleurs) un exemple "classique" de style conditionnel piloté par le modulo 2 du numéro de ligne. Ca donne un "aspect listing".
Pour 3 je pense qu'il faut faire un modulo 3.
Tu déclares donc un style conditionnel avec 3 "volets" : dans chaque "volet" tu définis la propriété Backcolor avec la bonne couleur et comme condition pour piloter tu mets:
pour les 2 autres volets du style tu mets "==1" et "==2" à la fin de l'expression respectivement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part new Boolean($V{REPORT_COUNT}.intValue()%new Integer(3).intValue()==0)
En plus ce que je fais c'est que j'applique ce style à un frame qui contient tous les champs de la ligne : ca évite d'avoir à positionner x fois la propriété "style".
Ne pas oublier de mettre la Propriétés "Opaque" du frame à true et de "désactiver" la propriété Backcolor des champs dans le frame.
Merci de ta solution, elle m'a bien aidé !
Je m'en suis inspiré pour faire comme tu as dis mais avec juste un rectangle avec un background opaque auquel j'ai fais un "send to back".
Le rectangle marche pareil, sauf que je me méfie car on a des surprises en html jasper avec les objets qui se superposent : en export pdf c'est bon mais en html il y en a qui disparaissent !!
C'est vrai que les styles conditionnels c'est assez puissant et on n'y pense pas toujours ( par ex pour mettre en valeur tel ou tel champ en fonction d'un critère)
Partager