10
votes

Comment utiliser un champ de texte conditionnel dans JasperReports?

J'aimerais avoir une paire de champs de texte en fonction d'une valeur. Et le "Y" -Value doit être ajusté en fonction de l'espace vide.

Lorsque la valeur est "0" Je voudrais masquer le champ de texte.

I.e. Je voudrais masquer le staticseext et le textfield si le paramètre rouge est égal à "0" et ont Les valeurs bleues ont augmenté, dans le code JRxML ci-dessous: xxx

exemple de sortie: xxx

Ces champs de texte seront être placé à la fin de mon rapport. Comment puis-je faire cela?


0 commentaires

3 Réponses :


14
votes
<reportElement ...>
    <printWhenExpression><![CDATA[$P{red} == 0]]></printWhenExpression>
</reportElement>
You can use iReport to modify this with a pleasant UI.

3 commentaires

Cela ne fonctionne pas pour moi, je reçois cette erreur: ')' Valeur attendue = (java.lang.boolant) ($ {rouge == 0}); // $ jr_expr_id = 12 $


J'ai étendu ma question maintenant. Je ne sais pas si cela est possible dans JasperReports.


Eh bien, ajoutez simplement le dans d'autres champs également, avec la condition appropriée



1
votes

De cette façon, non, je ne suis pas sûr que ce soit possible.

Il existe une option appelée Supprimer le lien lorsqu'il est blanc , mais cela ne fonctionne que si vous souhaitez supprimer toute la ligne. Ici vous souhaitez supprimer une ligne dans une colonne spécifique.

Dans ce cas, je recommanderais d'utiliser Croststab ou CROSSTABLES.

Donnez au groupe de colonnes la valeur de X. (supposant X est le numéro de colonne) Et donner le groupe de lignes la valeur du champ de couleur, à partir d'sieur, vous pouvez modifier l'étiquette de manière dynamique, quelque chose comme ceci: xxx


0 commentaires

0
votes

Vous pouvez utiliser comme celui-ci xxx

lors de l'impression xxx

et activer vide lorsque l'option NULL du champ utilisant xxx


0 commentaires