iReport: gewusst Wie: ausblenden der Zeile, die mit-text-Felder ohne Daten-Zeile enthält unterschiedliche Arten von Daten
Habe ich null Felder mit Sternchen (es enthält eine Zeichenfolge oder bigdecimal-Wert) auf eine einzige Linie gezogen für meinen Bericht, die Anzeige einer leeren Zeile.
Damit entfernen Sie die leere Zeile, die null Zeilen die ich verwendet, die Eigenschaft isRemoveLineWhenBlank
für die report-Elemente in dieser Zeile. Aber das funktioniert nicht.
Kann jemand mir dabei helfen bitte?
snap:
Ausgabe-snap:
jrxml :
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Created with iReport - A designer for JasperReports -->
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
name="WEB_PREVIEW"
columnCount="1"
printOrder="Horizontal"
orientation="Portrait"
pageWidth="595"
pageHeight="900"
columnWidth="535"
columnSpacing="0"
leftMargin="30"
rightMargin="30"
topMargin="20"
bottomMargin="20"
whenNoDataType="NoPages"
isTitleNewPage="false"
isSummaryNewPage="false">
<property name="ireport.scriptlethandling" value="0" />
<property name="ireport.encoding" value="UTF-8" />
<import value="java.util.*" />
<import value="net.sf.jasperreports.engine.*" />
<import value="net.sf.jasperreports.engine.data.*" />
<parameter name="GROSS_RENTAL_INCOME_SQPA_LABEL" isForPrompting="false" class="java.lang.String"/>
<parameter name="GROSS_RENTAL_INCOME_SQPA" isForPrompting="false" class="java.math.BigDecimal"/>
<defaultValueExpression ><![CDATA["C:\\Development_New\\Cyprus\\Cyprus\\WebRoot\\report\\"]]></defaultValueExpression>
</parameter>
<background>
<band height="0" isSplitAllowed="true" >
</band>
</background>
<title>
<band height="0" isSplitAllowed="true" >
</band>
</title>
<pageHeader>
<band height="32" isSplitAllowed="true" >
<textField isStretchWithOverflow="true" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="367"
y="105"
width="96"
height="12"
key="textField"
positionType="Float"
isRemoveLineWhenBlank="true">
<printWhenExpression><![CDATA[new Boolean($P{GROSS_RENTAL_INCOME_SQPA}!=null)]]></printWhenExpression>
</reportElement>
<box></box>
<textElement>
<font pdfFontName="Helvetica-Bold" size="8" isBold="true"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$P{GROSS_RENTAL_INCOME_SQPA_LABEL}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###,##0.00" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="472"
y="105"
width="48"
height="12"
key="textField"
positionType="Float"
isRemoveLineWhenBlank="true">
<printWhenExpression><![CDATA[new Boolean($P{GROSS_RENTAL_INCOME_SQPA}!=null)]]></printWhenExpression>
</reportElement>
<box></box>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression class="java.math.BigDecimal"><![CDATA[$P{GROSS_RENTAL_INCOME_SQPA}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band height="0" isSplitAllowed="true" >
</band>
</columnFooter>
<pageFooter>
<band height="0" isSplitAllowed="true" >
</band>
</pageFooter>
<summary>
<band height="0" isSplitAllowed="true" >
</band>
</summary>
</jasperReport>
Können Sie nach der Abbildung, die veranschaulicht, was Sie wollen?
pls überprüfen Screenshot wie oben
Kannst du die screenshot-Bericht-design in iReport (nicht das Ergebnis des Exports) und das snippet jrxml Datei?
Hi Alex, kann ich dasselbe tun mit den verschiedenen version statt ?Als ich fand die Haupt-Ursache ist, ich hatte einige weitere Elemente wie Bild -, Rahmen etc. neben den Feldern, die ich abschneiden möchten, wenn leer.
Hi! Ja, Sie können.
pls überprüfen Screenshot wie oben
Kannst du die screenshot-Bericht-design in iReport (nicht das Ergebnis des Exports) und das snippet jrxml Datei?
Hi Alex, kann ich dasselbe tun mit den verschiedenen version statt ?Als ich fand die Haupt-Ursache ist, ich hatte einige weitere Elemente wie Bild -, Rahmen etc. neben den Feldern, die ich abschneiden möchten, wenn leer.
Hi! Ja, Sie können.
InformationsquelleAutor Sweety | 2012-04-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Spielen Sie das Beispiel unten, um zu erreichen das Ergebnis das Sie wollen.
Es zeigt, wie Sie zum ausblenden der Zeile, die mit zwei textField Elemente (zwei Spalten) mit Hilfe von Rahmen Elemente (natürlich in Zusammenarbeit mit isRemoveLineWhenBlank Eigenschaft, wie gesagt, in der Frage).
Den jrxml Datei-code:
Entwurf des Berichts in iReport:
Das Ergebnis für das verstecken der ganzen Linie:
Das Ergebnis für das verstecken der nur ein Feld in der ersten Spalte, erste Zeile:
Warum funktioniert es nicht? Haben Sie versucht, frames zu verwenden, die für diesen block?
InformationsquelleAutor Alex K
die Lösung sind nicht frames.
Hinzufügen printWhenExpression auf das textfield:
Beispiel:
InformationsquelleAutor Alexander Apel