Ich habe eine Tabelle in iReport mit 3 Feldern (A, B, C). Ich würde die Zeile drucken, wenn Feld C nicht null ist. Zum Beispiel, wenn ich 2 Datensätze in meiner Datenquelle:So löschen Sie Zeilen in einer Tabelle, wenn ein Ausdruck in iReport gültig ist
A = erster, B = zweite, C = dritte
A = up, B = AB, C = NULL
Die Tabelle muss nur die erste Zeile enthalten.
habe ich versucht, in jeder Zelle dieser Ausdruck Einfügen (in „Print wenn Ausdruck“ Eigenschaften):
!$F{C}.equals(null)
aber auf diese Weise das Ergebnis ist, dass die zweite Zeile leer ist (aber sichtbar).
Edit: nach der ersten Antwort (jetzt gelöscht) werden die Spalten in der Tabelle sind so etwas wie:
<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>
die Datenquelle eine XML-Datei ist. Ich habe es auch mit isBlankWhenNull="true"
versucht aber ohne Änderung. Hier ein Bildschirm des Ergebnisses:
Können Sie den Screenshot des resultierenden Berichts posten? –
@AlexK Aktualisiert. – Baduel
Ja, das ist ein Problem. Jemand hat bereits einen [gleichen Fall auf jasperforge.org] (http://jasperforge.org/plugins/espforum/view.php?group_id=102&forumid=103&topicid=91738) Forum gepostet. –