Problemstellung: JasperReports Error beim Subreport

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:

  1. Subreport aus dem aktuellen Band entfernen
  2. Subreport in das Detail-Band verschieben
  3. Höhe des Detail-Bands ausreichend groß wählen
  4. Falls nötig: Split Type = Stretch setzen

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