| Auszug | ||
|---|---|---|
| ||
Jaspersoft Subreport im Designer: Detail-Band, Datenquelle, Intid, .jasper, Subreport-Wizard, Use an existing report. |
Sprache: Deutsch · English
Schritt-für-Schritt: Subreport in Jaspersoft Studio bauen, testen und in den Hauptreport einbetten.
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Panel | ||||||
|---|---|---|---|---|---|---|
| ||||||
Auf dieser Seite
|
Subreports
...
eignen sich für
...
tabellarische Daten oder Listen und können eine eigene Datenquelle nutzen. Hier bauen wir einen Subreport und testen ihn zusammen mit dem Hauptreport im Designer
...
(Beispiel: Auftrag mit Auftragspositionen).
...
Analog zum Hauptreport. Für
...
den Subreport:
...
...
Da der Subreport in das Auftragsbeispiel-Formular eingebettet wird, ist die Breite eines Detail-Band für den Subreport relevant. In diesem Fall sind es 525px.
...
...
...
Subreport-Formular im Designer.
...
Gleiche Datenbankverbindung wie der Hauptreport
...
| Codeblock |
|---|
select
ap.dblvknetto,
ap.dblvknettogesamt,
ap.intpos,
ap.dblmenge,
ei.strname "streinheit",
ar.strname
from
nuclos.t_eo_auftragsposition ap
left outer join nuclos.t_eo_einheit ei on ei.intid = ap.intid_streinheit,
nuclos.t_eo_artikel ar
where
ap.intid_strauftrag =$P{Intid}
and ar.intid = ap.intid_strartikel
order by ap.intpos asc |
; Vorgehen analog zu Datenquelle im Designer.
| Codeblock | ||
|---|---|---|
| ||
Hauptreport |
| Warnung | ||
|---|---|---|
| ||
Es muss derselbe Parameter |
#,##0.00.<Name>.jasper an.Felder im Subreport.
Im Hauptformular über die Palette die Komponente Subreport wählen, im Wizard Use an existing report und die erzeugte .jasper laden. Danach die Datenquelle wählen und den Subreport platzieren.
Subreport-Wizard im Hauptreport.
| Info | ||
|---|---|---|
|
Wichtig: Es muss der selbe Parameter Intid erstellt werden. Am besten er wird aus dem Hauptreport importiert.
Blau umrandet: Soll die Menge mit ihrer Einheit ausgegeben werden, ist hier eine Möglichkeit abgebildet dies zu tun. Die Expression Class des Feldes ist String.
Ist die Datenquelle korrekt erstellt und sind die Felder auf dem Formular eingefügt, kann über den Preview-Button ein Test durchgeführt werden. Dabei wird die selbe Intid übergeben, wie sie für den Hauptreport verwendet wird. Wenn die Preview fehlerfrei ausgeführt wurde, legt iReport eine Auftragsposition.jasper an.
Ist über das Ausführen der Preview die Datei Auftragsposition.jasper erstellt worden, kann in das Hauptformular im Designer gewechselt werden.
Im nächsten Schritt kann die Datenquelle gewählt werden mit der der Subreport verbunden ist. In unserem Fall ist es die Selbe.
Nun kann der Subreport im Formular platziert werden. Generell kann ein Subreport an jede Stelle des Dokumentes eingebunden werden, jedoch muss darauf geachtet werden das nicht jedes Band automatisch mit dem Subreport expandiert(column-Footer, Lastpage-Footer....).
...
Der Parameter |
...
stellt die Zugehörigkeit der |
...
Subreport-Daten zum Hauptdatensatz sicher. Achte darauf, dass nicht jedes Band automatisch mit dem Subreport expandiert. |