我在 iReport 中有一个包含 3 个字段(A、B、C)的表格。如果字段 C 不为空,我将打印行。例如,如果我的数据源中有 2 条记录:
A = 第一,B = 第二,C = 第三
A = 向上,B = 向下,C = NULL
该表必须只有第一行。
我尝试在每个单元格中插入此表达式(在“表达式时打印”属性中):
!$F{C}.equals(null)
但这样的结果是第二行是空的(但可见)。
编辑:在第一个答案(现在已删除)之后,表中的列类似于:
<jr:column ...>
<jr:columnHeader ...>
<staticText>
<reportElement .../>
<text><![CDATA[ID]]></text>
</staticText>
</jr:columnHeader>
<jr:detailCell ...>
<textField isBlankWhenNull="false">
<reportElement ... isRemoveLineWhenBlank="true">
<printWhenExpression><![CDATA[$F{ID}!=null]]></printWhenExpression>
</reportElement>
<textFieldExpression><![CDATA[$F{ID}]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
<jr:column ...>
<jr:columnHeader ...>
<staticText>
<reportElement .../>
<text><![CDATA[CITY]]></text>
</staticText>
</jr:columnHeader>
<jr:detailCell ...>
<textField isBlankWhenNull="false">
<reportElement ... isRemoveLineWhenBlank="true">
<printWhenExpression><![CDATA[$F{ID}!=null]]></printWhenExpression>
</reportElement>
<textFieldExpression><![CDATA[$F{CITY}]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
数据源是一个 xml 文件。我也试过了,isBlankWhenNull="true"
但没有改变。这是结果的屏幕: