olá pessoal
tenho um relatório no ireport que na metade da página para baixo eu chamo um subrelatório, de tamanho indefinido de linhas
supondo que eu tenha 10 linhas no relatório principal até chegar ao final da página e que o subrelatório vá imprimir 8 linhas, gostaria que o sub fosse impresso na primeira página, caso ele ultrapasse as “10” linhas restantes, que o sub fosse todo impresso na próxima página
como eu faço isso
obrigado
dúvida com subrelatório e quebra de página
26 Respostas
Cria um Group Header para o sub e nas propriedades, check na opção Keep Together.
Porém, creio que a melhor opção seria desenvolver um subrelatório à parte e nele colocar essa opção.
a questão é
essas 10 linhas eu "chutei"
não sei exatamente quantas linhas tem disponíveis até o final do relatório
tem que ser uma variável
o ireport deve ter uma opção de controle de linhas
Com a opção Keep Together que o LSergio_Vieira falou ele não iria tratar por número de linhas, mas sim por chegar ao fim da página, é isso que você quer não?
Mas se você quer quebrar baseado em um parametro, você pode adicionar um “Break Point” com “print when expression”.
desculpe, mas nao estou achando o “keep together”
Você criou um Group correto?
Clique em uma banda do Group, vá em propriedades, é a ultima opção que aparece (um CheckButton). Depois coloque seu subreport dentro dessa banda e ela não vai ser “quebrada” \o/
sim fiz a quebra no tipo
"report group"
mas ainda nao achei o "keep together"
uso o ireport 3.0.0
Cara, se eu bem entendi o que tu queres, é pro subReport caber nessa banda separado ou junto com o que tu já tens, desde que ELE não quebre, certo?
Há uma opção: “Print in first whole band”. Ele só vai imprimir quando couber inteiro.
Abraço!
eu marco essa opção na chamada do sub ?
No próprio sub… no objeto dele (deve ser isso que tu chamas de chamada).
marquei esta opção em todos os os campos do relatório e na chamada do sub, no relatorio principal, onde eu passo parametros para o sub, onde eu digo o caminho e tal
mas nao deu certo
ele ta quebrando na metade
Marcando em tudo não vai funcionar… tens que marcar NELE, que aí ele mantém esse objeto inteiro na banda.
não deu certo …
ainda ta separando
pode ser porque esta na banda summary ?
A banda summary sempre será impressa ao final de todos os teus registros, seja em que página estiver.
Tem uma opção nas propriedades do report pra tu permitir ou não quebra de página no summary.
Então, sim, pode ser por isso.
marquei esta opção em todos os os campos do relatório e na chamada do sub, no relatorio principal, onde eu passo parametros para o sub, onde eu digo o caminho e tal
mas nao deu certo
ele ta quebrando na metade
Acho que você está marcando no lugar errado… pode postar um print de onde você marcou? A, não vi que tinha respondido sobre o sumary xD

esse relatorio eh bem complicado mesmo
eu tirei os campos da banda summary e coloquei na banda colunmfooter
e dae deu estouro de pagina
Error filling print... Subreport overflowed on a band that does not support overflow.
net.sf.jasperreports.engine.JRRuntimeException: Subreport overflowed on a band that does not support overflow.
Cara, esses dados não têm que estar no detail não?
teoricamente sim
mas esse relatório que eh complicado mesmo
eu estou usando 1 relatorio principal que chama o primeiro sub
ai nesse primeiro sub, eu chamo + outros 3 subrelatorios
porque nao consegui montar apenas um select, precisei usar os select separados, e para cada select, um relatorio
Meus cavaco… hehe
Como são muitos relatórios, difícil de saber exatamente o que tá se passando. Postar aqui também não vai ajudar.
Sugestão é tirar desses subReports o que der (usando agrupamentos, por exemplo) e colocar os dados que são de detail no details mesmo. Não adianta usar em outras bandas pra manipular local de impressão, que vai virar confusão e gambiarra.
No caso com tantos reports ja não é bonito hahaha mas você não quer que nenhum deles quebre de página?
Eu acho que você marcou o print in first whole band dentro do sub relatório… mas não é. Você deve marcar no relatório principal onde você esta chamando o sub relatório…
Por isso que eu falei, posta um print aqui.
ISSO, Gerva! Perfeito, falou o que eu queria ter dito hehe
sim foi onde eu marquei
Po mano, se você não pode postar o print foi mau mas milagre também agente não pode fazer… =/
Se você descobrir posta aí pq não sei oque mais pode estar errado mesmo…
eu tirei todos os subs …
deixei apenas o primeiro
esse pode imprimir um pedaço na primeira pagina e o resto na segunda página sem problemas
agora engraçado que tenho o rodapé (pagefooter)
quando o relatorio tem 1 pagina sai normal o rodape
quando tem 2 paginas so sai na ultima pagina
e nao esta na banda lastpagefooter
porque isso ?
se esta no pagefooter tem que sair em todas as paginas
Mano… tenso… não faço idéia, nunca vi nem ouvi fala disso xp
Vo tentar dar uma olhada aqui qualquer coisa te passo, mas se você descobrir não esquece de postar aí.
agora deu certo
mudei a banda da chamada dos subs
funcionou 100 % do jeito que eu queria
quebra, rodape, …
valeu galera


