2009-10-26 3 views
0

Je dois préparer une lettre dans laquelle j'ai besoin d'un en-tête de page 40 mm pour la première page et 20 mm en-tête pour toutes les autres pages sauf la première page. J'ai donc créé deux en-têtes de page.Jasper rapports - iReport - variable de numéro de page ne fonctionne pas

Je souhaite masquer/afficher les en-têtes de page en fonction du numéro de page. Mais quand j'écris l'impression suivante quand expression, cela ne fonctionne pas.

$V{PAGE_NUMBER}.equals("1") 

Répondre

2

Vous devez vérifier ce que le type de V $ {} PAGE_NUMBER est ... (je pense qu'il est java.lang.Integer)

La méthode choisie renvoie un booléen d'un PrintWhenExpression doit renvoyer un java.lang.Boolean, vous devez donc en instancier un.

Essayez:

new Boolean($V{PAGE_NUMBER}.equals("1")) 

Il devrait fonctionner ... Pour améliorer votre test, je pense qu'il est préférable de faire une comparaison int (un spécialiste Java doit confirmer que)

new Boolean($V{PAGE_NUMBER}.intValue() == 1) 

L'autre manipulation que vous pourriez avoir à faire est de spécifier le nom entier de l'objet (je ne sais pas comment JasperReport traite l'importation)

new java.lang.Boolean($V{PAGE_NUMBER}.intValue() == 1) 
Questions connexes