Estou com problema para imprimir um subrelatorio.
Eu li os tópicos referentes a este assunto mas nao resolveu!
No ambiente do Japser, no VIWER, mostra perfeitamente bem,
Ao passar para a aplicação, o subrelatório sai branco.
Me parece que os dados do sub estão aparecendo em branco, visto que,
ao mudar o código no sql, a impressão sai com tamanhos diferentes, ou
seja está trazendo linhas em branco.
Já mudei a fonte de cor, já sobrepus o sub para cima , mas NADA!
O SQL está trazendo normalmente, tanto no método java quanto no visualizador
do jasper. Porém, ao chamar o relatório dentro da a aplicação, SOMENTE o subrelatório não aparece.
Testei com a última versão do software JASPER e nada também
Chamei um benzedor AFRICANO ZULU e nada também
Alguém sabe me informar o que está acontecendo?
Meu ambiente/ferramentas de trabalho é:
/JASPERREPORT 2.0.4
/JAVA6
/ORACLE
/ECLIPSE3
/TOMCAT5
Os relatórios compilados ficam em :
C:\Projetos\sgi_dividido\transporte\src\main\web\WEB-INF\classes\relatorios\transporte
As telas de configuração dentro do jasper são:
tela_01_relatorio_principal.jpg
tela_02_relatorio_principal_conexao_com_subrelatorio.jpg
tela_03_subrelatorio.jpg
Segue o código java - método que gera o relatorio:
public void gerarRelatorio() throws ValidacaoException {
GerenteTransporte gerenteTransporte = getFabricaGerente().getGerenteTransporte();
try {
ResultSet resultado = null;
String pathRelCondutores;
resultado = gerenteTransporte.obterRelatorioAutorizacaoTrafegoDeslocamento(getAutorizacaoTrafegoDeslocamento());
if(resultado == null){
try {
if (resultado.next())
throw new ApplicationException("A pesquisa não retornou resultados.");
} catch (SQLException e) {
e.printStackTrace();
}
}
// gerar itinterário ex: PALMAS-TO / ALVORADA-TO / ARAGUAÍNA-TO
String itinerario = new String();
Municipio municipioTemp = new Municipio();
for (int i = 0; i < getAutorizacaoTrafegoDeslocamento().getMunicipios().size(); i++) {
municipioTemp = (Municipio) getAutorizacaoTrafegoDeslocamento().getMunicipios().get(i);
if (i == 0)
itinerario = municipioTemp.getNome()+ "-" + municipioTemp.getUnidadeFederal().getSigla();
else
itinerario += " --> " + municipioTemp.getNome()+ "-" + municipioTemp.getUnidadeFederal().getSigla();
}
pathRelatorio = "/relatorios/transporte/";
pathRelCondutores = pathRelatorio + "subCondutores.jasper";
HashMap map = new HashMap();
map.put("ITINERARIO", itinerario);
map.put("PATH_REL_CONDUTORES", pathRelCondutores);
setPathRelatorio(ReportHelper.gerarRelatorio((ResultSet)resultado, pathRelatorio + "AutorizacaoDeslocamentoComSub.jasper", map));
setAbrirRelatorio(Boolean.TRUE);
} catch (ApplicationException e) {
addMessage(ERROR_MESSAGE, e.getMessage());
e.printStackTrace();
return;
}
}