Mit Mehreren JavaBean-DataSources in Jasper Report
Als JasperReport können eine JavaBean-collection als DataSource. Können wir senden eine SetCollection mit einem einzigen Objekt, das die Verweise auf mehrere SetCollections.
Und verwenden Sie diese Referenzen übergeben zusammengestellt jrxml-Datei über mehrere Aufrufe JasperFillManager.fillReport() jedes mal vorbei, eine andere SetCollection.
wollte nur wissen, ob das kompiliert jrxml-Datei gefüllt wird, die mit dem letzten Anruf oder werden die Daten bei jedem Aufruf JasperFillManager.fillReport().
- Ich habe beobachtet das problem, wie man mehrere Datenquellen konfrontiert wird, meinen viele.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese werden gefüllt mit das Letzte. Sie können nicht mehrere Datenquellen, die Art und Weise. Obwohl, es gibt andere Möglichkeiten, das zu tun. Die übergabe einer Sammlung durch die param-Karte ist eine von Ihnen.
Endlich!!..
Erreicht die Aufgabe.
Dank @Vycuss als ich es erreicht mithilfe von Unterberichten nur.
Ansatz:
Nach den oben genannten code in Activator.java als ich war die Schaffung eines OSGi-bundle.
Erstellen Sie zwei parameter im MainReport.jrxml
1. Wesen "SUB_REPORT" ohne Typ und 2. als "DATA_SOURCE" mit java.util.collection-Typ.
Jetzt im MainReport bieten
neue net.sf.jasperreports.Motor.Daten.JRBeanCollectionDataSource($P{DATA_SOURCE})
als Datenquelle Ausdruck für den Unterbericht element platziert in das detail-band.
Stellen Sie außerdem sicher, dass der Unterbericht nur die Spalte header -, detail-und spaltenfuß-band.
Auch die Felder im Unterbericht erstellt werden, der für entsprechende Mitglied ist von der javabeans.