| Auszug |
|---|
|
Nuclos Jasper Formatierungen: Bold, DecimalFormat, REPORT_LOCALE, Frames, Adresse, RemoveLineWhenBlank, Hyperlink, markup styled, br, LISTAGG, Stretch with overflow. |
Sprache: Deutsch · English
Formatierungen
Formatierungs-Rezepte für JasperReports – Fett, Zahlenformate, Frames/Adressen, Hyperlinks, Markup und Umbrüche.
| Status |
|---|
| colour | Blue |
|---|
| title | Anwendungsentwickler |
|---|
|
| Status |
|---|
| colour | Green |
|---|
| title | Stand: Jul 2026 |
|---|
|
| Status |
|---|
| colour | Grey |
|---|
| title | gilt fuer Nuclos 4.2026.x |
|---|
|
Fett & Kursiv
Das Bold-Flag wirkt nur in der Designer-Vorschau – im PDF erfolgt keine Umsetzung. Für echten Fett-/Kursiv-Druck muss die passende Schriftart (Font) gewählt werden (auch wenn das Property durchgestrichen dargestellt wird).
Image AddedFett/Kursiv über die Schriftart wählen.
Kommazahlen im Textfeld
Feldinhalte werden in JasperReports durch ein Java-Statement definiert. Für formatierte Kommazahlen:
| Codeblock |
|---|
|
new java.text.DecimalFormat("#,###,##0.00", java.text.DecimalFormatSymbols.getInstance($P{REPORT_LOCALE})).format($F{betrag}) |
Englisches Zahlenformat (Notlösung)
Zahlenfelder innerhalb eines Textes lassen sich nicht automatisch formatieren. Für ein englisches Format hilft dieser Hack:
| Codeblock |
|---|
|
new java.text.DecimalFormat("#,##0.00").format($V{zwsumme}.doubleValue()).replace(",", "x").replace(".", ",").replace("x", ".") |
Durchgängige vertikale Spaltenlinien
Über Padding and Borders eines Textfeldes lässt sich je Seite eine Linie einblenden. Damit die Linie beim Wachsen der Spalte mitexpandiert, dürfen die Felder nicht auf fester Höhe stehen (siehe Stretch with overflow).
Stretch with overflow – einheitliche Darstellung
Wächst ein Feld über seine Breite hinaus, verschieben sich Nachbarfelder. Abhilfe:
- Alle Textfelder markieren → Rechtsklick → Padding And Borders → Padding Top: 4px.
- Feldhöhe auf 0px setzen.
- Unteres Feld auf Position Type = Float und Position Top = 0 (wie alle anderen Felder) setzen.
Nach dem Hochladen liegen alle Felder in einer Linie.
Frames mit Adressen
Ein Frame ist ein Container für weitere Elemente (auch verschachtelt). Für einen Adressblock eignet sich das Band Titel (nur erste Seite); für Briefumschläge ausreichend Seitenabstand (ca. 50px) lassen.
Zwei Felder zu einer Adresszeile zusammenführen und leere Zeilen entfernen:
- Im Text Field Expression-Dialog die Felder mit
+ verketten (String-Konkatenation), bei fehlendem Wert null liefern. - Am Feld die Flags RemoveLineWhenBlank, BlankWhenNull und StretchWithOverflow setzen.
Leere Zeilen (z.B. strstrassezusatz) werden dann automatisch entfernt und die übrigen zusammengeschoben.
Image AddedAdressblock: Text Field Expression.
Hyperlink
Textfeld oder Bild verlinken – entweder per Kontextmenü (Hyperlink, Typ Reference) oder direkt im JRXML:
| Codeblock |
|---|
|
<textField hyperlinkType="Reference">
<reportElement mode="Transparent" x="137" y="14" width="133" height="14"/>
<textElement>
<font size="11"/>
</textElement>
<textFieldExpression class="java.lang.String">"www.nuclos.de"</textFieldExpression>
<hyperlinkReferenceExpression>"http://www.nuclos.de"</hyperlinkReferenceExpression>
</textField> |
Markup – Styled
Mit Markup formatierst du einzelne Wörter/Absätze innerhalb eines Textfeldes, ohne ein neues Feld anzulegen. Property markup = styled setzen und <style>-Tags verwenden:
| Codeblock |
|---|
|
<style isBold='true' pdfFontName='Helvetica-Bold' >Das ist ein dicker Text </style><style isBold='true' pdfFontName='Helvetica-Bold' size='20'>20 Pixel groß </style><style isItalic='true' isUnderline='true' forecolor='green'> Grüner Text unterstzrichen und schief </style><style isBold='true' pdfFontName='Helvetica-Bold' size='12'>& hallo ich bin ein Sonderzeichen</style> |
| Warnung |
|---|
|
Markup scheitert, wenn der Text ein & enthält. Ersetze es vorab durch die Entity: Attribut.replaceAll("&", "&"). Andere Sonderzeichen ggf. per UTF-8-Sequenz ersetzen. |
Zeilenumbruch im Markup
Ein <br/> im Text erzeugt einen Umbruch (Feld weiterhin markup = styled). Beispiel: Ergebnismenge in Oracle per LISTAGG() mit <br/> verketten:
| Codeblock |
|---|
|
SELECT listagg(T2x."STRBEZEICHNUNG",'<br/>')
within group (order by T2x."STRBEZEICHNUNG") "strtext"
FROM
Tabelle T1x
WHERE
(
T1x."Tabelle T1x" = Parameter
)) "strtext", |
Min Height To Start New Page
Dieses Property gibt den bereits von anderen Komponenten belegten Platz an (nicht die Höhe des aktuellen Elements) – ab dem ein neuer Seitenumbruch beginnt.
Verwandte Seiten
...