Im Detailbereich meines JasperReports (Umsetzung noch via iReport) gibt es einen Wert ‚agpos‘ an welchem ich einen Seitenumbruch festmachen wollte.
Genau gesagt, sollte immer ein Seitenumbruch eingefügt werden, wenn die nächste Position einen neuen Wert hatte, sodass gleiche Sätze auf eine Seite und neue auf die nächste angedruckt werden.
Hier der Weg, wie ich den Wert des letzten Satzes im aktuellen Satz verfügbar gemacht habe, damit ich eine Abweichung prüfen konnte:
Zunächst habe ich eine Variable $F{aktuelle_agpos}
angelegt, die den aktuellen Wert $F{wert_gruppierung}
aufnimmt und den Inhalt bei jedem Durchlauf zurück- bzw. neu setzt:
Dann habe ich eine zweite Variable $F{letzte_agpos}
angelegt, welche im Grunde als Inhalt die vorherige Variable enthält:
Je nach Report muss man ggf. ein wenig mit der „Gruppe zurücksetzen“ spielen, aber das sollte dann schon alles sein.
In meinem Fall wollte ich so einen Seitenumbruch steuern. Also habe ich eine weitere Gruppe eingefügt, welche – per Option – immer auf einer neuen Seite beginnt.
In der ‚Drucken wenn‘-Bedingung dieser Gruppe habe ich dann die beiden Variablen verglichen und nur bei abweichenden Inhalten ein TRUE zurückgegeben.
Quelle [1]