ize: 12.0pt">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:

stream classdesc serialVersionUID = 604,

local class serialVersionUID = 606

Wanderley G. Freitas

 

A mensagem de erro já indica a solução.

Você compilou utilizando a versão 0.6.4 do JasperReports e executou utilizando a versão 0.6.6. Mas a compilação e a execução do relatório devem ser feitas com a mesma versão do ...

Quer ler esse conteúdo completo? Tenha acesso completo