Hi!
Ich benutze iReport 2.0.5 sowie jasperreports-2.0.4.jar.
Was möchte ich mit JasperReports machen: Es soll ein Report erstellt werden (A) welcher wiederum 1:n Reports (B) enthalten kann. Gedacht habe ich es mir so dass ich im Detailbereich mehr oder weniger über eine Liste von B iterieren lasse - dies soll dann mit einem SubReport realisiert werden.
Mein aktuelles Problem ist jedoch dass ich nicht mal einen einfachen SubReport zusammenbringe, sprich es wird mir kein SubReport angezeigt.
Folgende Vorgehensweise meinerseits:
+) HauptBericht erstellt (nur statischer Text bzw mit Hilfe Von Parametern realisiert) --> A
+) Neuen Bericht erstellt --> B
-) Hierbei (B) habe ich dann die Ränder (oben,unten,links,rechts) auf 0 gesetzt (unter Bearbeiten-->Reporteigenschaften-->Seitenrand).
+)Danach im Hauptbericht (A) einen SubReport im Bereich Detail erstellt und hierbei auf den vorhin angelegten Bericht (B) verwiesen.
+)Daraufhin habe ich den Parameter, welcher den kompilierten SubReport (B) beinhaltet, wie folgt erstellt:
Parametername: BSubReport
Parameter Klassen Typ: net.sf.jasperreports.engine.JasperReport
+) Danach im Hauptbericht(A) auf den SubReport mit der r.M. geklickt und Eigenschaften ausgewählt. Hier dann folgendes eingetragen:
Ergebnisklasse Unterreport: net.sf.jasperreports.engine.JasperReport
Ausdruck für Unterreport: $P{BSubReport}
Weiters übergebe ich hier auch einen Parameter vom Haupt- zum SubReport:
SubReport Parameter Name: DruckParameterObjekt
Ausdruck für Defaultwert: $P{DruckParameterObjekt} --> Diesen Parameter gibt es im HauptReport und wird dort auch benutzt.
+) Danach habe ich im SubReport in mehreren Bereichen (u.a. Detail) versucht die Werte aus DruckParameterObjekt auszulesen, jedoch wird selbst der statische Text im Subreport nicht angezeigt.
Weitere vorgenommene Einstellungen:
+) Im HauptReport: Reporteigenschaften-->Mehr--> Wenn keine Daten: Keine Seiten
+) Im SubReport: Reporteigenschaften-->Mehr--> Alle Abschnitte außer Detail.
Kann mir jemand helfen? Warum sehe ich keinen SubReport
Hier noch die relevanten Zeilen aus der Java-Main-Methode:
Ich benutze iReport 2.0.5 sowie jasperreports-2.0.4.jar.
Was möchte ich mit JasperReports machen: Es soll ein Report erstellt werden (A) welcher wiederum 1:n Reports (B) enthalten kann. Gedacht habe ich es mir so dass ich im Detailbereich mehr oder weniger über eine Liste von B iterieren lasse - dies soll dann mit einem SubReport realisiert werden.
Mein aktuelles Problem ist jedoch dass ich nicht mal einen einfachen SubReport zusammenbringe, sprich es wird mir kein SubReport angezeigt.
Folgende Vorgehensweise meinerseits:
+) HauptBericht erstellt (nur statischer Text bzw mit Hilfe Von Parametern realisiert) --> A
+) Neuen Bericht erstellt --> B
-) Hierbei (B) habe ich dann die Ränder (oben,unten,links,rechts) auf 0 gesetzt (unter Bearbeiten-->Reporteigenschaften-->Seitenrand).
+)Danach im Hauptbericht (A) einen SubReport im Bereich Detail erstellt und hierbei auf den vorhin angelegten Bericht (B) verwiesen.
+)Daraufhin habe ich den Parameter, welcher den kompilierten SubReport (B) beinhaltet, wie folgt erstellt:
Parametername: BSubReport
Parameter Klassen Typ: net.sf.jasperreports.engine.JasperReport
+) Danach im Hauptbericht(A) auf den SubReport mit der r.M. geklickt und Eigenschaften ausgewählt. Hier dann folgendes eingetragen:
Ergebnisklasse Unterreport: net.sf.jasperreports.engine.JasperReport
Ausdruck für Unterreport: $P{BSubReport}
Weiters übergebe ich hier auch einen Parameter vom Haupt- zum SubReport:
SubReport Parameter Name: DruckParameterObjekt
Ausdruck für Defaultwert: $P{DruckParameterObjekt} --> Diesen Parameter gibt es im HauptReport und wird dort auch benutzt.
+) Danach habe ich im SubReport in mehreren Bereichen (u.a. Detail) versucht die Werte aus DruckParameterObjekt auszulesen, jedoch wird selbst der statische Text im Subreport nicht angezeigt.
Weitere vorgenommene Einstellungen:
+) Im HauptReport: Reporteigenschaften-->Mehr--> Wenn keine Daten: Keine Seiten
+) Im SubReport: Reporteigenschaften-->Mehr--> Alle Abschnitte außer Detail.
Kann mir jemand helfen? Warum sehe ich keinen SubReport
Hier noch die relevanten Zeilen aus der Java-Main-Methode:
Code:
final String hauptReport = "D:\\projects\\agwr2\\AGWR2Config\\config\\drucken\\AdresseDruck.jrxml";
final String subReport= "D:\\projects\\agwr2\\AGWR2Config\\config\\drucken\\GebaeudeDruck.jrxml";
ArrayList<IGebaeudeTO> reportData = new ArrayList<IGebaeudeTO>();
reportData.add(gebaeudeTO);
JRDataSource ds = new JRBeanCollectionDataSource(reportData);
InputStream isHaupt = null;
InputStream isGebaeude = null;
try {
isHaupt = JRLoader.getFileInputStream(hauptReport );
isSub = JRLoader.getFileInputStream(subReport);
} catch (JRException e1) {
e1.printStackTrace();
}
JasperPrint jasperPrint = null;
try {
JasperReport compiledReportGebaeude = JasperCompileManager
.compileReport(isSub);
JasperReport compiledReportAdresse = JasperCompileManager
.compileReport(isHaupt );
Map<String, Object> reportParameters = new HashMap<String, Object>();
reportParameters.put("AdresseDruckParameterObjekt", adrTO);
reportParameters.put("GebaeudeSubReport",
compiledReportGebaeude);
jasperPrint = JasperFillManager.fillReport(compiledReportAdresse,
reportParameters, ds);
} catch (Exception e) {
e.printStackTrace();
}
JasperViewer.viewReport(jasperPrint);