我在《i Report》中有一张有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>
The data source is a xml file. I ve tried also with isBlankWhenNull="true"
but with no change. Here a screen of the result: