Help com jasper

6 respostas
duardor

Ae pessoal
To com um probleminha…
Eu to usando o jasper reports para emitir uma fatura… mas o negócio é o seguinte, são três vias…
Como eu faço para fazer o mesmo relatório três vezes , alterando as apenas o parametro de via?

Eu estou usando o JasperRunManager.runReportToPdfStream para enviar o relatorio via web browser…

Eu estou fazendo assim… Existem tres botoes separados, um pra emitir cada via e ai eu coloco no Map o numero da via q eu quero para passar como parametro… Dai seriam tres requests diferentes , e tb seriam TRES MONTAGENS DO MESMO RELATORIO … Uma solução pra lah de porca…

Nao ha como eu montar o mesmo relatorio tres vezes no mesmo arquivo variando as vias???

Valew galera!

6 Respostas

Frank

Cara,
Você poderia pegar um dos relatórios, deixá-lo como principal e os demais como subrelatórios…
Assim você terá três relatórios em um só. Para chamar ele na aplicação passa como parametro os relatórios criando uma variável de InputStream para cada um e passa ele no programa. Adiciona os relatórios no seu programa (se precisar compilar sempre, coloca os .xml, se não só os .jasper é suficiente) e usa o ClassLoader para pegar o caminho do relatório e usa um InputStream. Passa o resultado desse InputStream como parametro (usa o Map para montar os parametros do relatório) e daí é só testar …

Qualquer dúvida mande ai,
Falow.

duardor

Frank, valew pela ajuda
Mais uma perguntinha…
Vc sabe como eu adiciono um rodapé diferente apenas na ultima página do relatório?^???
No saco seria o canhoto pra cortar da fatura…
Valew…

Frank

Amigo,
Tudo o que você adicionar no “Summary” irá aparecer apenas na última página e tudo o que você adicionar no “Title” irá aparecer apenas na primeira página. Então utilize o Summary para montar o seu rodapé …
Falow e estamos aqui para ajudar os outros …

duardor

Eu jah tinha usado o sumary mas o q acontece eh q se por acaso minha fatura der duas paginas e as faturas acabarem na metade da segunda dai o sumary imprime meu rodapé no meio da página e não no fim
Como resolvo?

Frank

Então para vc imprimir apenas no rodapé e não acontecer isso, tem q utilizar o pageFooter, mas ele imprime tem todas as páginas e daí vc deve dar uma olhada para imprimir só na última, certo ?

Falow.

duardor

Eh exatamente esse o problema
Detectar quando é a ultima página e imprimir o canhoto…
O problema eh detectar QUANDO estou an ultima pagina
Jah tentei definir variaveis de acumuladores mas nao deu certo…
Vou ter q acabar que percorre minha collection na aplicação e tirar o numero de página daí…

Criado 8 de julho de 2003
Ultima resposta 8 de jul. de 2003
Respostas 6
Participantes 2