10 Stimmen

PAGE_COUNT wird in JasperReports nicht korrekt wiedergegeben...?

Ich habe die Fußzeile hinzugefügt Seite x von y in meinen Bericht einfügen, aber der PAGE_COUNT scheint nicht zu funktionieren.

Vielleicht tritt das Problem auf, weil ich viele Unterberichte habe?

Ich verstehe:

Page 1 of 1

Page 2 of 0

Page 3 of 0

Page 4 of 0

Irgendwelche Ideen?

0 Stimmen

11voto

tugcem Punkte 1008

Nun, ich kenne die älteren Versionen nicht, aber in JasperReports 4.5.1 können Sie zwei Textfelder definieren, die beide Folgendes enthalten $V{PAGE_NUMBER} Variablen. Diejenige, die eine EvaluationTime: now zeigt die aktuelle Seitenzahl an; die andere mit EvaluationTime: report zeigt die Gesamtzahl der Seiten an. Ein einfacher Trick, der aber funktioniert :)

6voto

Kwex Punkte 61

Ändern der evaluationTime="Report" das Problem gelöst.

3voto

KOUAKEP ARNOLD Punkte 21

Zusammenfassung: Um die Seitenzahl und die Seitennummer in einem TextField zu haben.

Schritt 1: Erstellen Sie eine Variable, die die Nummer der aktuellen Seite angibt.      Einstellungen: * Name: CURRENT_PAGE_NUMBER

  • Variable Klasse: Java.lang.Integer

  • Berechnung: nichts

  • Typ zurücksetzen: Keine

  • Inkrement-Typ: Seite

  • Variablenausdruck: $ V {CURRENT_PAGE_NUMBER} == null? $ V {SEITENNUMMER}: $ V {SEITENNUMMER} +1

Schritt 2: TextFeld-Einstellungen

  • Textfeld-Ausdruck: "SEITE:" + $ V {AKTUELLE_SEITENNUMMER} + "/" + $ V {SEITENNUMMER}

  • Ausdrucksklasse: Java.lang.String

  • Bewertungszeit: Auto

Und das ist alles. Sie brauchen nichts hinzuzufügen, um ein Ergebnis zu erhalten wie: Seite 1/3 | Seite 2/3 | Seite 3/3.

2voto

Ich habe die Lösung gefunden.

http://jasperforge.org/tracker/index.php?func=detail&aid=2873&group_id=102&atid=612

Im Buch JasperReports for Java Developers (S. 146) steht jedoch, dass PAGE_COUNT die Gesamtzahl der Seiten im Bericht ist. Ich vermute, der Fehler liegt im Buch.

0 Stimmen

PAGE_COUNT wird wie andere Variablen berechnet, so dass Sie den Status der Variablen während der Bearbeitung abfragen können. (eine Funktion, kein Fehler :-)

2voto

chburd Punkte 4091

Sehen unsere Berichte wie folgt aus:

http://pastebin.com/m401fa41

Der erste Teil, der bei der Seitenerzeugung interpretiert wird, gibt die Nummer der aktuellen Seite an ( evaluationTime="Now" )

Der zweite Teil, der am Ende des Berichts interpretiert wird, gibt die Gesamtseitenzahl an ( evaluationTime="Report" )

HTH

0 Stimmen

Ihr Beispiel hat mir weiter geholfen, die beiden Felder so zu platzieren, dass sie eine nahtlose Legende bilden. Netter Trick, das erste nach rechts und das zweite nach links auszurichten. Ich wünschte, die Dinge wären in JR mehr "schwimmfähig".

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X