Beim Ausführen eines JasperReports tritt folgende Fehlermeldung auf:
Subreport overflowed on a band that does not support overflow
Der Report bricht ab, obwohl der Subreport an sich korrekt aufgebaut ist. Besonders häufig passiert das bei dynamischen Datenmengen, zum Beispiel Listen, Textfeldern mit variabler Länge oder Tabellen.
Der Fehler wirkt auf den ersten Blick kryptisch – die Ursache ist jedoch klar definiert.
Ursache des Fehlers
In JasperReports können nicht alle Bands überlaufen (overflow).
Der Fehler entsteht, wenn:
- ein Subreport mehr Höhe benötigt, als das Band erlaubt
- das Band kein Overflow unterstützt, z. B.:
- Title
- Page Header
- Column Header
- Summary (eingeschränkt)
Ein Subreport mit variabler Höhe muss in einem Band liegen, das Overflow erlaubt – andernfalls kommt es genau zu diesem Fehler.
Korrekte Lösung (empfohlen)
✅ Subreport in das Detail-Band verschieben
Das Detail-Band unterstützt automatisch Overflow und ist für dynamische Inhalte vorgesehen.
Vorgehen:
- Subreport aus dem aktuellen Band entfernen
- Subreport in das Detail-Band verschieben
- Höhe des Detail-Bands ausreichend groß wählen
- Falls nötig:
Split Type = Stretchsetzen
Damit kann sich der Subreport über mehrere Seiten erstrecken.
Wichtige Einstellungen im Subreport
Zusätzlich solltest du folgende Eigenschaften prüfen:
🔧 Subreport Element
- Position Type:
Float - Stretch Type:
Relative to Band Height - Remove Line When Blank:
true(optional)
🔧 Detail Band
- Split Type:
Stretch - Keine fixe minimale Höhe erzwingen
Alternative (nur in Spezialfällen)
Falls der Subreport zwingend im Header stehen muss:
- Datenmenge statisch begrenzen
- Subreport-Höhe fix halten
- Kein dynamisches Wachstum zulassen
⚠️ Diese Variante ist fehleranfällig und nur für Sonderfälle geeignet.
Merksatz für die Praxis
Dynamische Inhalte gehören immer ins Detail-Band.
Sobald ein Subreport wachsen kann, ist jedes andere Band potenziell problematisch.
Fazit
Der Fehler
„Subreport overflowed on a band that does not support overflow“
ist kein Bug, sondern eine klare Regel von JasperReports.
Die saubere Lösung ist fast immer:
- Subreport → Detail-Band
- Overflow zulassen
- Layout flexibel halten
So vermeidest du Laufzeitfehler und unerwartete Report-Abbrüche.
📺 Passend dazu: Auf meinem YouTube-Kanal findest du weitere praxisnahe Lösungen rund um Reporting, SQL und Datenanalyse:
👉 https://www.youtube.com/@datenanalyst
