Bom dia!
Sou novo aqui no GUJ.
Gostaria de tirar uma dúvida sobre IReport.
É o seguinte:
- Eu tenho uma banda especial, criada para realizar a divisão dos dados em um relatório, serve para fazer a divisão dos dados de determinadas empresas. O nome da banda é “idUnidadeEmpresaHeader”, que a cada nova empresa no relatório esta banda é apresentada no início da página e os dados da empresa são impressos logo após ela.
A minha dúvida é a seguinte:
- eu tenho uma banda page header, mas essa banda somente deverá aparecer quando a minha banda especial (idUnidadeEmpresaHeader) não estiver na página.
Já tentei de várias formas mas não consegui, como a seguinte:
no campo Print when expression coloquei:
“$F{unidadeEmpresa} == null”, sendo que o campo “unidadeEmpresa” é impresso na banda idUnidadeEmpresa.
Gostaria de saber como fazer isto.
Desde já agradeço.
[quote=vinisoccol]Bom dia!
Sou novo aqui no GUJ.
Gostaria de tirar uma dúvida sobre IReport.
É o seguinte:
- Eu tenho uma banda especial, criada para realizar a divisão dos dados em um relatório, serve para fazer a divisão dos dados de determinadas empresas. O nome da banda é “idUnidadeEmpresaHeader”, que a cada nova empresa no relatório esta banda é apresentada no início da página e os dados da empresa são impressos logo após ela.
A minha dúvida é a seguinte:
- eu tenho uma banda page header, mas essa banda somente deverá aparecer quando a minha banda especial (idUnidadeEmpresaHeader) não estiver na página.
Já tentei de várias formas mas não consegui, como a seguinte:
no campo Print when expression coloquei:
“$F{unidadeEmpresa} == null”, sendo que o campo “unidadeEmpresa” é impresso na banda idUnidadeEmpresa.
Gostaria de saber como fazer isto.
Desde já agradeço.
[/quote]
Bom primeiro de tudo da uma lida neste tópico
http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor
:thumbup:
Ok. Lido.
Alguém poderia me auxiliar na minha dúvida quanto ao IReport conforme relatada?
Aguardo.
Obrigado.
Olá!
Me diga uma coisa, essa sua “banda especial”, é um group? Pq me deu a impressão que sim já que disse que ela “aparece cada vez que muda a empresa”. É isso?
Se por acaso for, eu não vejo outra forma senão criar uma variável como flag e alterar seu conteúdo, usando ela na condição de impressão do PageHeader. Vc sempre só tem uma dessa “banda especial” a cada página (qdo tiver é claro)? Ou pode acontecer de ter duas por ex?
Olá, sim, essa banda especial é um group.
Ela aparece cada vez que muda a empresa sim, no início da página.
Não acontece de ter duas bandas especiais dessa por página, é menos de uma por página.
Mas o page header somente vai aparecer quando esta banda especial não aparecer.
Bom, o group então aparece sempre que MUDA a empresa. Vc teria que programar de forma q o page header aparecesse quando NÃO MUDA a empresa.
Se fosse uma programação linear, faríamos dois loops, um dentro do outro, armazenaríamos o valor da empresa numa variável e sempre que a empresa do registro atual fosse igual a armazenada na variável a gente mostrava o page header, se mudasse, não mostrava (pq sabia que ía mostrar o group).
iReport não é programação linear, mas a ideia é a mesma! Vc terá que armazenar em uma variável o valor da empresa, e programar no PrintWhen do Page header pra imprimir só quando o valor da empresa atual for igual ao da variável armazenada.
Já consegui resolver o problema usando uma flag
Obrigado.
