JasperReport mit SubReport

planeta

Grünschnabel
Hallo zusammen

Ich beschäftige mich seit 2 Wochen mit JasperReport und habe ein Fehler, dass ich nicht lösen kann.:mad:

Ich habe ein Report TEST.jrxml erstellt und sofort kompiliert. Die Daten für den Report habe ich im Speicher unter Java. Beim Start der Anwendung fülle ich TEST.jasper mit Parametern und übergebe ein JRDataSource_Object.

Raus kommt eine Tabelle mit Daten aus dem JRDataSource_Object.

Zwei Spalten des Reports werden mit Hilfe eines SubReports SUB_TEST.jasper gefüllt.

Beim füllen des TEST.jasper werden alle Felder des Reports aus dem JRDataSource_Object geholt. Hier habe ich ein Feld, dass ein neues JRDataSource_Object für den SubReport hält. Die Daten(HashMap) werden im Konstruktor des JRDataSource_Objects übergeben.
Solange die HashMap Daten für eine Zeile des SubReports hat, läuft alles wie es seien soll. :) Hat die HashMap aber mehr als eine Zeile, erscheint eine Fehlermeldung: :confused:

Code:
[08.10.07 14:27:10:153 CEST] 0000002e JRFillSubrepo E net.sf.jasperreports.engine.fill.JRFillSubreport prepare Fill 1142178836: exception
                                 net.sf.jasperreports.engine.JRRuntimeException: Subreport overflowed on a band that does not support overflow.
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.addPage(JRHorizontalFiller.java:1209)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillPageBreak(JRHorizontalFiller.java:1298)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillDetail(JRHorizontalFiller.java:654)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillReportContent(JRHorizontalFiller.java:263)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillReport(JRHorizontalFiller.java:121)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:763)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:688)
	at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:526)
	at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:63)
	at net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSubreportRunner.java:209)
	at java.lang.Thread.run(Thread.java:816)

Ich habe so ein gefühlt, dass hier nur ein Schalter umgestellt werden muss. Aber welcher?

Das Ergebnis soll später ca. so aussehen, wie im Screenshort.

Ich bitte um Hilfe.
 

Anhänge

  • JasperReportUndSubReport.jpg
    JasperReportUndSubReport.jpg
    31,6 KB · Aufrufe: 358
Zuletzt bearbeitet:
Hallo,

stell doch bitte mal den Report (eventuell eine Datenbasis) zur Verfügung.
Ansonsten würde ich als 1. Punkt die Druckreihenfolge des Reports kontrollieren.
-> horizontal, bzw. vertikal.

Viele Grüße
Olli
 
@ OliverT
Du hast Recht.

Ich habe mir außerhalb meines Programms ein Testbeispiel mit Subreport gemacht.
O Wunder, dieser Test lief. Dann habe ich in diesen Test ein Parameter nach dem anderen wie im Programm umgestellt. Dazwischen immer den Report gestartet. Als ich den gleichen Fehler kriegte, wahr es wirklich die Druckeinstellung.

Ich habe mehr als 3 Tage gebraucht, um diesen Fehler zu suchen. :-(:-(:-(:-(:-(:(. Als ich den Fehler raus hatte, wahr ich so fertig, dass sofort Feierabend gemacht habe.

Wie ich schon mal geschrieben habe: "Ich habe so ein gefühlt, dass hier nur ein Schalter umgestellt werden muss." Ein Parameter hat mir so viel Kopfschmerzen erteilt. :(

DANKE. :)
 
Zurück