Artigo Java Magazine 26 - Tira-Dúvidas

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Artigo publicado pela Java Magazine edição 26.

Esse artigo faz parte da revista Java Magazine edição 26. Clique aqui para ler todos os artigos desta edição

Tira-dúvidas

 

Sub-relatórios e sobreposição

Preciso passar o meu relatório JasperReports uma collection de Value Objetcs. Todos os VOs são do mesmo tipo e têm três atributos, que são também coleções de VOs. Pesquisei em alguns sites e a solução parece ser a criação de sub-relatórios. Decidi então criar três sub-relatórios, um para cada atributo dos VOs, colocando os três na banda de detalhes, um abaixo do outro. Mas na hora da impressão as collections são exibidas todas sobrepostas. Também coloquei três linhas horizontais entre os sub-relatórios, e elas ficam sobrepostas aos sub-relatórios durante a impressão.         

Guilherme Melo

 

O problema nesse casó é que cada sub-relatório é um elemento gráfico de altura variável. Por default, o JasperReports fixa a posição dos elementos gráficos relativamente ao início da banda, o que gera uma sobreposição caso o elemento seja mais alto durante a impressão do que durante o design.

A solução é modificar para float o atributo positionType (que é comum a todos os elementos gráficos do JasperReport). Assim a posição vertical passa a ser determinada de forma relativa ao elemento anterior, e não ao início da banda. Você deve também fazer positionType=float para os elementos seguintes (como as linhas horizontais) pois quando um elemento numa banda é definido com altura variável, todos os seguintes devem ser configurados da mesma maneira para eviar sobreposições.

 

Relatórios pré-compilados

Quando carrego a descrição XML de um relatório JasperReports e faço a compilação na aplicação tudo funciona corretamente. Entretanto, ao carregar o relatório pré-compilado (extensão .jasper) ocorre o erro a seguir. Com posso resolver isso?

 

java.io.InvalidClassException:

net.sf.jasperreports.engine.base.JRBaseReport;

  local class incompatible:

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?