Banda Detail no iReport  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
webeverton
Java Ninja

Membro desde: 22/01/2007 15:10:53
Mensagens: 288
Localização: Porto Alegre/RS
Offline

Olá galera....

Tenho um relatório, onde eu mostro itens de um cadastro.... Cada um tem um tamanho...

Alguns itens começam em uma página e terminam em outra....

Gostaria de saber se tem como fazer uma das duas coisas:
- Mostrar uma mensagem do tipo "Este item continua na próxima página", quando isto ocorrer.
- Ou então, impedir que os itens sejam "quebrados" e exibidos em duas páginas separadas...

De preferência o primeiro caso...

Existe como?!

Valeu galera....

"Gosto é como braço... Alguns nascem sem..."

http://www.tuacara.com.br - Cada vez melhor!
http://www.mondes.com.br - Acesse e confira o portfólio.
[WWW]
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

Bom, a primeira pergunta a fazer é: você está usando qual tipo de datasource ?

follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
webeverton
Java Ninja

Membro desde: 22/01/2007 15:10:53
Mensagens: 288
Localização: Porto Alegre/RS
Offline

Uma consulta normal, ao BD... padrão...

"Gosto é como braço... Alguns nascem sem..."

http://www.tuacara.com.br - Cada vez melhor!
http://www.mondes.com.br - Acesse e confira o portfólio.
[WWW]
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

Impedir que os itens sejam quebrados não tem como, né? A não ser que você mande no MAXIMO X itens para o relatório (referentes ao tamanho da página), acho que isso não seria muito interessante fazer!

Outra idéia é enviar listas usando o DataSource JRBeanCollectionDataSource, cada objeto da lista seria um HashMap, no hashmap você poderia tratar o tamanho virtual que cabe em um relatório, fazendo com que no registro que exceda o tamanho da página, seja modificado o valor de alguma variavel auxiliar para "continua na proxima página", por ex:

Lista de HashMap: (Vamos considerar que a página aceite no máximo 3 registros)

{{nome="pedro", msg=""}, {nome="joao", msg=""}, {nome="josé", msg=""}, {nome="",msg="Continua na próxima página."}, {nome="paulo", msg=""} }


Aí, lá no seu relatório, você define no detail uma expressão como:

(objeto field)

Faz uma classe que abstraia o relatório, e comece a passar coleções para ele ao invés de acesso direto ao banco, além de você poder tratar melhor seus dados, tem maior controle sobre o relatório..

qualquer dúvida posta aí!

This message was edited 1 time. Last update was at 09/05/2008 14:54:38


follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
gustavosedit
HelloWorld
[Avatar]

Membro desde: 23/07/2007 09:52:20
Mensagens: 12
Localização: São Paulo
Offline

Estou com o mesmo problema mas meus campos variam de tamanho, então a solução de de limitar o número de itens por página não resolve.

alguma solução?

[]'s

This message was edited 1 time. Last update was at 09/05/2008 15:56:43


Gustavo Schiavinato Rodrigues
[MSN]
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

gustavosedit wrote:Estou com o mesmo problema mas meus campos variam de tamanho, então a solução de de limitar o número de itens por página não resolve.

alguma solução?

[]'s


vc leu o que escrevi acima ?

follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
webeverton
Java Ninja

Membro desde: 22/01/2007 15:10:53
Mensagens: 288
Localização: Porto Alegre/RS
Offline

não vai rolar então... eu tenho alguns itens que são imagens... daí não vou ter como tratar desta forma....

Vou ter que pensar em alguma outra solução...

O sistema antigo era em Delhi, e tinha essa frescura de, "continua na próxima página"...

Bom, beleza... Vou tentar outras alternativas... se eu descobrir algo, aviso aew...

Valeu galera..

"Gosto é como braço... Alguns nascem sem..."

http://www.tuacara.com.br - Cada vez melhor!
http://www.mondes.com.br - Acesse e confira o portfólio.
[WWW]
gustavosedit
HelloWorld
[Avatar]

Membro desde: 23/07/2007 09:52:20
Mensagens: 12
Localização: São Paulo
Offline

peerless wrote:vc leu o que escrevi acima ?


Li sim, já estou usando JRBeanCollectionDataSource, mas não resolve. O problema é que cada item do meu array ArrayList<HashMap> preciso que fique inteiro em uma página.


peerless wrote: Lista de HashMap: (Vamos considerar que a página aceite no máximo 3 registros)

Como fazer isso quando os campos no HashMap variam de tamanho?

This message was edited 1 time. Last update was at 12/05/2008 07:55:04


Gustavo Schiavinato Rodrigues
[MSN]
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

webeverton wrote:não vai rolar então... eu tenho alguns itens que são imagens... daí não vou ter como tratar desta forma....

Vou ter que pensar em alguma outra solução...

O sistema antigo era em Delhi, e tinha essa frescura de, "continua na próxima página"...

Bom, beleza... Vou tentar outras alternativas... se eu descobrir algo, aviso aew...

Valeu galera..


Campos imagem ?


follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

gustavosedit wrote:
peerless wrote:vc leu o que escrevi acima ?


Li sim, já estou usando JRBeanCollectionDataSource, mas não resolve. O problema é que cada item do meu array ArrayList<HashMap> preciso que fique inteiro em uma página.


peerless wrote: Lista de HashMap: (Vamos considerar que a página aceite no máximo 3 registros)

Como fazer isso quando os campos no HashMap variam de tamanho?



Os campos do hashmap variam mas o limite do seu relatório é sempre um. Quantos "records" cada página aceita? Faça o calculo de que tamanho está a sua aba Detail e faz as contas!

follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
gustavosedit
HelloWorld
[Avatar]

Membro desde: 23/07/2007 09:52:20
Mensagens: 12
Localização: São Paulo
Offline

peerless wrote:Os campos do hashmap variam mas o limite do seu relatório é sempre um. Quantos "records" cada página aceita? Faça o calculo de que tamanho está a sua aba Detail e faz as contas!


Vou tentar explicar melhor: meu relatório tem um campo que recebe um texto que pode ter n linhas, portanto a quantidade de records do meu Detail varia. Não tem como eu saber quantas linhas vão ter nesse campo a não ser que eu tire uma média de letras que caibam em uma linha e estime seu tamanho.

Pensei que pudesse haver alguma configuração no iReport para não "quebrar" o Detail (sempre jogar para a página seguinte).

Gustavo Schiavinato Rodrigues
[MSN]
webeverton
Java Ninja

Membro desde: 22/01/2007 15:10:53
Mensagens: 288
Localização: Porto Alegre/RS
Offline

Isso... essa seria uma boa alternativa também...

Já que não existe como verificar se metade do registro está numa página, e a outra metade na outra...


"Gosto é como braço... Alguns nascem sem..."

http://www.tuacara.com.br - Cada vez melhor!
http://www.mondes.com.br - Acesse e confira o portfólio.
[WWW]
lauronolasco
JavaEvangelist
[Avatar]

Membro desde: 30/11/2007 19:19:59
Mensagens: 409
Localização: Vitória da Conquista - BA
Offline

vc pode criar um subrelatorio na banda detail.
se o subrelatorio for maior que o espaço que sobra na pagina atual, ele pula para a proxima...
nao lembro se é automático ou tem configuracao..
mas eu ja fiz isso!

"Conhecimento nunca é demais!"
[Email] [MSN]
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team