Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Falls Sie Datenquellen für Subreports verwenden und weiterhin die Subreports in iReport auch zu Testzwecken kompilieren wollen, müssen Sie die Datei nuclos-reportapi.jar, die Teil der Distribution ist, zum iReport-Klassenpfad hinzufügen.

Subreport im Subreport

In manchen Fällen benötigt man auch die Möglichkeit ein Subreport in einem Subreport einzubinden. Bei diesem Vorgang muss man jedoch beachten, dass der zweite Report von dem Hauptreport bis nach hinten mit durchgereicht wird.

Beispiel: Es soll ein Angebot erstellt werden. In diesem Angebot gibt es die Hauptdaten die im Hauptreport festgelegt werden und es gibt die Produkte die im ersten Subreport definiert werden und zu diesen Produkten gibt es geweils noch Produktarten, die dann im zweiten Subreport definiert werden.

Im Hauptreport erstellt man für beide Subreports einen eigenen Parameter z.B. subProdukte und subProduktPositionen. Die erstellung eines solchen Parameters ist weiter oben beschrieben. Wenn man den ersten Subreport in den Hauptreport einbindet muss man zusätzlich zu den oben beschriebenen Angaben noch einen Parameter mit angeben. Dies Funktioniert folgendermaßen:

* Parameters = (Name) subProduktPositionen, (Expression) $P{subProduktPositionen}

im ersten Subreport muss nun ebenfalls ein Parameter definiert werden, dieser muss den gleichen Namen haben, wie der Parameter für den zweiten Subreport im Hauptreport. In unserem Fall subProduktPositonen. Dort kann man nun den zweiten Subreport einbinden. Hier muss dann kein Parameter zusätzlich mit angegeben werden.

Bei zwei Subreports empfiehlt es sich natürlich für jeden Subreport eine eigene Datenquelle zu besitzen, die dann den Subreport befüllt. Bei den Datenquellen gibt es dann auch noch eigenschaften, die man berücksichtigen sollte.

  Wie im Bild gezeigt, wird im Hauptreport unter Eigenschaften die Parameter des "SubSubReports" angegeben.

Subreport im Subreport.pngImage Removed

Datenquellen für Subreports im Subreport

Bei den Datenquellen genügt es nun nicht mehr nur als Parameternamen intid zu vergeben, sondern nun muss man in jeder Datenquelle die für den Report definiert wird eindeutige Namen vergeben, so dass die Id´s weitergereicht werden können.

In der Datenquelle für den Haupreport muss nun als Parameter in dem obengenannten Beispiel für das Angebot "intidAngebot" angegeben werden, worauf dann die Bedingung verzweigt. In der Datenquelle für den ersten Subreport (subProdukte) muss nun die intid der Tabelle für den ersten subReport (hier Produkt) mit aufgenommen werden und als Alias intidProdukt angegeben werden. Dies ist notwendig, damit der zweite Subreport auf diese ID verweisen kann, denn dort muss als Parameter der Alias eingesetzt werden, worauf dann die Bedingung verweisen kann.

Variablen von Subreport zu Hauptreport übergeben

...