[RESOLVIDO] IReport -&gt Nº página por grupo

6 respostas
R

Oi pessoal!

Por favor, tenho um relatório com 20 páginas por ex. Este relatório imprime na numeração de página algo assim:

1/20
2/20
3/20

Agora fiz um agrupamento por data, tenho um grupo de data (groupData). Quero que a numeração de página saia dentro da data, e não dentro de todas as páginas do relatório. Então se por ex, no meu relatório eu tenho nessas 20 páginas duas datas diferentes sendo listadas, e se a primeira data corresponder 5 páginas e pra segunda data corresponder as demais 15 páginas, eu quero que a numeração de páginas saia da seguinte forma:

1/5
2/5

5/5
1/15
2/15

15/15

Bom, qto ao primeiro número (que é a página corrente) eu já consegui fazer ele resetar na hora certa. Eu uso $V{PAGE_NUMBER} com Eval. time = now e no meu groupData eu marquei a opção Reset Page Number.

Agora, qto ao segundo número, o que tem que mostrar o total, eu já tentei de todas as formas e não consigo fazer como quero.
Pra mostrar o total geral de páginas eu costumo usar $V{PAGE_NUMBER} com Eval. time = Report. Eu pensei que eu mudando o Eval. time para group e especificando o meu groupData funcionaria. Mas que nada! Nem compila!

Dá o seguinte erro:
net.sf.jasperreports.engine.JRException: Unknown evaluation group ‘’ for text field. at net.sf.jasperreports.engine.xml.JRXmlLoader.assignGroupsToTextFields(JRXmlLoader.java:433)

O campo que estou tentando imprimir com a página está no pageHeader do relatório.
Por favor, alguém sabe como fazer?! :roll:

Grata,

6 Respostas

R

Respondendo a minha própria pergunta:

Eu estava fazendo tudo certinho, o problema é que o FRESCO do IReport não aceita como group para Eval. time um group que tenha na sua condição de quebra um campo do tipo String. (Que era o meu caso, era uma data só que já formatada com dd/mm/yyyy).

Bastou que eu mudasse o campo de quebra do meu group para um campo do tipo Data que tudo funcionou!

Testei com um campo do tipo Integer e tb deu certo.

Seria isso um BUG do iReport? E se por acaso meu campo de quebra tivesse que ser do tipo String? Simplesmente não teria como fazer…

Cada coisa viu!!!

Enfim, resolvi! :twisted:

A

Esse topico eh meio antigo…rs Mas acho que da pra resolver meu problema…

Como que faço pra deixar a numeração dessa maneira.

tipo se eu tiver um relatorio com 10 paginas, mostrar. 1/10, 2/10.

valeu

R

Meio antigo?! Bem antigo! rs…

Bem, seria melhor vc ter criado um novo post pra isso, já que a dúvida é meio diferente, mas vou tentar te ajudar.

No seu iReport, coloque 2 componentes do tipo campo texto.
No primeiro vc coloca:

Expression: $V{PAGE_NUMBER}
Eval. time: now

No segundo vc coloca:

Expression: $V{PAGE_NUMBER}
Eval. time: Report

O primeiro deve imprimir a página atual, e o segundo o total de páginas. Depois vc coloca uma “/” entre eles e pronto, vc já terá o que deseja.

Boa sorte! :lol:

A

Mas onde que está esse Eval. time: now e report?

A

A renata…ja achei…

mto obrigado pela ajuda.

:wink:

D

2015 e esse post foi util, vlw vlw ajudou demais

Criado 27 de julho de 2007
Ultima resposta 7 de jul. de 2015
Respostas 6
Participantes 3