我在jrxml文件中定义了一个boolean类型的参数。这个参数的值来自我的java类(true / false)。如果值为true,那么我不想显示该字段。我是写下表达式如下。
<printWhenExpression><![CDATA[$P{flag}==false]]></printWhenExpression>
这个表达式有什么问题。这里我只在标志值为false时才显示该字段。任何人都可以告诉我。
答案 0 :(得分:2)
试试这样:
<printWhenExpression><![CDATA[$P{flag}==Boolean.FALSE]]></printWhenExpression>
这是我的表达工作:
<printWhenExpression><![CDATA[$V{REPORT_COUNT}.intValue() % 2 == 0 ? Boolean.TRUE : Boolean.FALSE]]></printWhenExpression>
答案 1 :(得分:2)
在这里尝试了其他2个建议之后,可能还有大约30个其他的东西(java表达式杀了我),我终于得到了以下工作。在我的示例中,如果PRINT_INSTRUCTIONS布尔参数为TRUE,则不希望打印特定的文本字段,仅当它为FALSE时。
在iReport中,它看起来像这样:
new Boolean($P{PRINT_INSTRUCTIONS}.booleanValue() == false)
在XML中它看起来像这样:
<printWhenExpression><![CDATA[new Boolean($P{PRINT_INSTRUCTIONS}.booleanValue() == false)]]></printWhenExpression>