Как стереть строки в таблице, если выражение допустимо в iReport

У меня есть таблица в iReport с 3 полями (A, B, C). Я бы напечатал строку, если поле C не равно нулю. Например, если у меня есть 2 записи в моем источнике данных:

  1. A = первая, B = вторая, C = третья

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

6
задан Baduel 28 May 2012 в 14:11
поделиться