У меня есть таблица в 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"
, но без изменений. Вот скрин результата: