2

我在 jrxml 文件中定义了一个布尔类型的参数。该参数的值来自我的 java 类(true/false)。如果值为 true,那么我不想显示该字段。我正在编写表达式如下。

<printWhenExpression><![CDATA[$P{flag}==false]]></printWhenExpression>

这个表达式有什么问题。这里我只在标志值为 false 时显示该字段。谁能告诉我。

4

2 回答 2

3

在尝试了这里的其他 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>
于 2013-04-22T13:26:19.267 回答
2

试试这样:

<printWhenExpression><![CDATA[$P{flag}==Boolean.FALSE]]></printWhenExpression>

这是我正在工作的表达式:

<printWhenExpression><![CDATA[$V{REPORT_COUNT}.intValue() % 2 == 0 ? Boolean.TRUE : Boolean.FALSE]]></printWhenExpression>
于 2012-08-14T05:23:38.740 回答