2009-01-08 13 views
8

He agregado el pie de página Página x de y a mi informe, pero el PAGE_COUNT no parece funcionar.PAGE_COUNT no procesado correctamente en JasperReports ...?

Quizás el problema se debe a que tengo muchos subinformes?

me sale:

Page 1 of 1 

Page 2 of 0 

Page 3 of 0 

Page 4 of 0 

¿Alguna idea?

+0

Posible duplicado de [Mostrar "Página X de Y" usando un solo campo de texto] (http://stackoverflow.com/questions/10673263/show-page-x-of-y-using-a-single-text -field) –

Respuesta

2

nuestros informes se parecen:

http://pastebin.com/m401fa41

primera parte, interpretado durante la generación de la página, da el # de la página actual (evaluationTime="Now")

segunda parte, interpretado al final del informe , da el # total de páginas (evaluationTime="Report")

HTH

+0

Su muestra me ayudó a colocar los dos campos en la leyenda de forma perfecta. Buen truco, alineando el primero a la derecha y el segundo a la izquierda. Ojalá las cosas fueran más "flotables" en JR. –

6

Cambiar el evaluationTime="Report" resolvió el problema.

9

Bueno, no sé las versiones antiguas pero en JasperReports 4.5.1; puede definir dos campos de texto que incluyen las variables $V{PAGE_NUMBER}. El que tiene EvaluationTime: now muestra el número de página actual; el otro con EvaluationTime: report muestra el número total de páginas. Un truco simple pero funciona :)

+1

Consulte también http://stackoverflow.com/a/34704385/3340702 – lifeisfoo

+0

Para obtener una solución de campo única, consulte: http://stackoverflow.com/a/37552266/59087 –

1

no tengo acceso a la jaspercommunity (para comprobar el enlace compartido), pero hago una buena solución: D

uso 4 textos, así:

txtStatic1(Page) txtField1($V{PAGE_NUMBER}) txtStatic2(of) txtField2($V{PAGE_NUMBER}) 

Dónde:

txtField1($V{PAGE_NUMBER}) -> AVAILABLE TIME = PAGE 
txtField2($V{PAGE_NUMBER}) -> AVAILABLE TIME = REPORT 

Me funciona.

1

La solución es la siguiente: No debemos poner $ {V PAGE_NUMBER} + "/" + $ {V} PAGE_NUMBER en el mismo campo.

la forma correcta es poner $ {V PAGE_NUMBER} en campo separado y "/" {V} PAGE_NUMBER + $ en el otro campo

que funcione para mí

lo siento por mi Inglés

-1

Resumen: Para tener el número de página y el número de página en un TextField.

Paso 1: Cree una variable que indique el número de la página actual. Ajustes: * Nombre: CURRENT_PAGE_NUMBER

  • clase variable: java.lang.Integer

  • de cálculo: nada

  • Restablecer Tipo: Ninguno Tipo de

  • Incremento: Página

  • Variable Expres sion: $ V {CURRENT_PAGE_NUMBER} == nulo? $ V {PAGE_NUMBER}: $ V {PAGE_NUMBER} +1

Paso 2: TextField Ajustes de Expresión Campo

  • Texto: "página:" + $ V {CURRENT_PAGE_NUMBER} + "/" + V $ {} PAGE_NUMBER clase

  • Expresión: java.lang.String

  • Tiempo de evaluación: Auto

Y eso es todo. No es necesario agregarle nada para darle un resultado como: Página 1/3 | Página 2/3 | Página 3/3.

Cuestiones relacionadas