Import
Auswege für genannte Elemente
Was Sie von Hand für jedes Element tun, das brevier import nennt und weglässt, mit den Änderungen an Vorlage, CSS und Schema.
Auf dieser Seite
Wenn der Import Not converted: line 41: crosstab ausgibt, fehlt das Element in
der Vorlage. Diese Seite sagt, was Sie für jede Art tun. Die Tabelle auf der Seite
JasperReports
verweist von jedem Element auf einen Abschnitt unten.
Verschachtelte Liste
Ein Subreport, ein Crosstab und ein subDataset zeigen Zeilen in Zeilen. Ihr
Code baut die innere Liste und legt sie in jede Zeile, zum Beispiel unter
details. In der Vorlage liest eine zweite Schleife sie:
{{#each details}} ... {{/each}} innerhalb von {{#each rows}}. Nehmen Sie
details in die rows-Einträge des Schemas auf. Die Engine weist ein Feld ab,
das das Schema nicht aufführt.
Gruppe von Hand
Bei einer Gruppe auf einen Ausdruck legt Ihr Code den Wert des Ausdrucks als neues
Feld in jede Zeile, etwa monat. Die Vorlage gruppiert nach diesem Feld:
{{#group rows.monat}}
<tr class="brevier-group-header"><td colspan="5">{{@key}}</td></tr>
{{#each rows}}
<tr><td>{{buchungstag}}</td><td>{{betrag | money}}</td></tr>
{{/each}}
{{/group}}Nehmen Sie das Feld in die rows-Einträge des Schemas auf. Für keepTogether
schreiben Sie im CSS break-inside: avoid für die Zeilen der Gruppe. Ein anderes
Feld als das Gruppenfeld hat einen Wert je Zeile, nicht je Gruppe, drucken Sie
es also in den Zeilen.
Bild aus der Anwendung
Ein Diagramm, ein Barcode, ein genericElement und ein Bild ohne Quelle sind
Bilder, die Ihre Anwendung erzeugt. Übergeben Sie das Bild als Data-URI (Text, der
das Bild enthält) in einer Wurzel wie chart, nehmen Sie chart als String in
das Schema auf und schreiben Sie <img src="{{chart}}"> in die Vorlage. Bei
onErrorType="Blank" übergeben Sie einen leeren Wert, wenn das Bild fehlt, und
schreiben {{#if chart}}<img src="{{chart}}">{{/if}}.
Wert aus der Anwendung
Eine Variable mit einer anderen Berechnung, ein Muster, das kein Formatierer
schreibt, eine Methode, Rechnen, ein Minuszeichen, !, ein Text aus einem
Resource Bundle ($R{...}) und eine Bedingung mit &&, || oder einem Vergleich
zweier Felder haben keine Vorlagensyntax. Ihr Code berechnet den Wert und übergibt
ihn. Die Vorlage druckt {{summe}} oder prüft {{#if zeigeHinweis}}. Nehmen Sie
jede neue Wurzel in das Schema auf.
Weitere Auswege
| Element | Was Sie tun |
|---|---|
ellipse |
Ein div mit border: 1pt solid #000; border-radius: 50% im CSS. |
break |
Ein leeres div mit break-before: page im CSS. |
elementGroup |
Entfernen Sie die Gruppe in der .jrxml und importieren Sie den Bericht neu. |
noData |
Schreiben Sie den Text als {{else}} der Schleife: {{#each rows}} ... {{else}} ... {{/each}}. |
line oder rectangle im Detail-Band |
Ein CSS-Rahmen an den Zellen: tbody td { border-bottom: 0.5pt solid #000; }. |
lastPageFooter |
Schreiben Sie den Text nach der Tabelle. Er steht nach der letzten Zeile, nicht am unteren Seitenrand. |
background |
@page { background: url("hintergrund.png") no-repeat center; } im CSS. |
Weiter: Den Aufruf ersetzen.