Wie lege ich die Anzahl der Zeilen fest, die pro Seite in einem Bericht mit iReports angezeigt werden sollen. Bsp: Wenn ich 100 Datensätze habe, wurde ich nicht 10 pro Seite anzeigen und dann brechen. Das Standardverhalten besteht darin, alle auf der Seite möglichen Datensätze zu füllen.So steuern Sie die Anzahl der Zeilen in einem JasperReports
Antwort
Ok! Einen Weg gefunden, dies zu erreichen!
- Die Zeilen werden normalerweise im
Details
Band gedruckt. - Am Ende des Detailbereichs, wo Sie einen Seitenumbruch benötigen, fügen Sie einen Seitenumbruch hinzu.
- Bearbeiten Sie in den Eigenschaften von pageBreak die Eigenschaft printWhen Expression im Eigenschaftenbereich.
- Der Ausdruck wird
new java.lang.Boolean((int)($V{REPORT_COUNT}.intValue())%10==0)
sein, wobei 10 die Anzahl der Datensätze pro Seite.
So wird es in iReports gemacht. Das jrxml-Äquivalent für Leute, die die Datei direkt bearbeiten, ist wie folgt.
<break>
<reportElement x="0" y="23" width="100" height="1">
<printWhenExpression><![CDATA[new java.lang.Boolean((int)($V{REPORT_COUNT}.intValue())%10==0)]]></printWhenExpression>
</reportElement>
</break>
das Setzen kurz nach dem <band>
Tag unter <details>
Tag.
Dies hängt von der eingestellten Seitenhöhe ab.
Seitenhöhe ist nicht der richtige Weg, um zu steuern, wenn sich die Textgröße ändert, gilt die Anzahl für einen Wurf. Gibt es keine andere Möglichkeit, die Anzahl zu bestimmen? –
Dann können Sie das mit Variablen tun. Sie können eine Variable inkrementieren, bis das gewünschte Limit erreicht ist. Danach müssen Sie auf einer anderen Seite beginnen. Ich weiß nicht, ob es einen anderen Weg gibt, dies zu tun. –
Einen Weg gefunden, siehe meine Antwort auf die Post. –
- 1. Steuern Sie die Anzahl der Pfeilköpfe
- 2. So lesen Sie die Anzahl der Zeilen in UITextView
- 3. So erhalten Sie die Anzahl der Zeilen in Cassandra Tabelle
- 4. Ermitteln Sie die Anzahl der Zeilen in einem Bereich
- 5. So erhalten Sie die Anzahl der Zeilen für bestimmte Bedingungen
- 6. Steuern der Anzahl der Panels in einem Gitterplot mit R
- 7. So erhalten Sie die Anzahl der Zeilen als JQuery-Variable
- 8. So steuern Sie die Typumwandlung in C#
- 9. So steuern Sie die Reihenfolge der Modulinitialisierung in Prism
- 10. Graf Anzahl der Zeilen in einem RDD
- 11. So steuern Sie die Reihenfolge von CompositeCommand
- 12. So steuern Sie die Anzahl der Artikel pro Seite in Paginierung Kontrolle php
- 13. Wie zähle ich die Anzahl der Zeilen in einem jqGrid?
- 14. So steuern Sie die Textgrößenänderungsrate in der HTML-Seite
- 15. So erhalten Sie die Anzahl der Zeilen, die von der Hive-Aktion in Oozie aktualisiert wurden
- 16. Wie bekomme ich die Anzahl der Zeilen in einem Textfeld?
- 17. So ändern Sie die TextField in JasperReports mit Java
- 18. So steuern Sie die Ausgabe von Daten in @foreach
- 19. Finden Sie die Anzahl der Zeilen Codeänderungen in TFS Shelveset
- 20. Zählen Sie die Anzahl der Zeilen in jeder Gruppe
- 21. JasperReports API: So definieren Sie den Datenadapter
- 22. AVFoundation - So steuern Sie die Belichtung
- 23. Ermitteln der Anzahl der Zeilen in einem Textfeld in VBA
- 24. So reduzieren Sie die Anzahl der Ballons
- 25. So steuern Sie die Systemlautstärke mit JavaScript
- 26. So steuern Sie die Anzahl der Mapper bei Verwendung von Parkett
- 27. Wie die Anzahl der Zeilen im Quellcode
- 28. iPhone: So erhalten Sie die Anzahl der in textView eingegebenen Zeilen ohne Berücksichtigung der Breite
- 29. Holen Sie die Anzahl der Zeilen in Tabelle mit SQLAlchemy
- 30. Wie kann ich die Anzahl der geplotteten Kreise steuern
Diese Lösung funktioniert gut, wenn die Seite mehr als 10 Zeilen hat (wie im Beispiel aus der Antwort). Falls die Anzahl der Zeilen kleiner als die angegebene Anzahl ist (die Höhe des textFields kann zunehmen), wird das Design unterbrochen. Ein weiteres Problem - die Situation, wenn wir einen Bericht mit einer geraden Anzahl von Seiten 10 haben, zum Beispiel 40. Die leere Seite wird am Ende des Berichts hinzugefügt. –
@AlexK Ich habe im Moment keinen Zugriff auf Jasper, kann also nicht bestätigen, aber wenn die Datensätze weniger als 10 sind, wird der Seitenumbruch einfach nicht hinzugefügt. Für Datensätze unter 10 gibt es keinen Seitenumbruch und alles wird auf der ersten Seite gedruckt. Der nächste Teil zum Hinzufügen einer zusätzlichen Seite ist möglicherweise wahr, ich kann mich nicht erinnern, welche Problemumgehung ich verwendet habe. –