Galeraaaa, mais uma vez eu aki enchendo o saco!
Segundona é soda né!!!
Estou com problemas em gerar relatorios com subrelatorios no jasper!
Ele me apresenta a seguinte msg quando tento gerar um relatorio pelo JSP
Ele gera o PDF mas ele não gera o subrelatorio, fica o relatorio com os espacos onde deveria ter o sub em branco!
Nas cfg do subrelatorio no iReport, em Connection/Datasource expression eu passo um parametro $P{REPORT_CONNECTION} , mas esse parametro é do ireport eu nem configurei ele!
Eu ternho que passar esse $P{REPORT_CONNECTION} no hastable como parametro né?
Oque eu passo nele?
como eu vejo esse parametro?
SOCORROOOOOOO…
8O
Pessoal, vou postar aki como resolvi esse problema!
Passei como parametro para o relatorio um List com as informaçoes.
Map map = new HashMap();
map.clear();
List m = contratanteDAO.find(strQuery);
if (!m.isEmpty()){
JRDataSource dsDetail = new JRBeanCollectionDataSource(m);
map.put("DATA", dsDetail);
} else {
JREmptyDataSource dsDetail = new JREmptyDataSource();
map.put("DATA", dsDetail);
}
No relatorio, em vez de
você usa o parametro que vc esta passando.
Quando vc for criar esse parametro no relatorio, em Parameter class type, vc poe
Então, foi assim que resolvi!
Abraços
Bom dia.
O que aconteceu foi que sua aplicação fez a consulta e passou pronta em forma de collection para o relatório. Através do parâmetro REPORT_CONNECTION, vc passa apenas a conexão e o Jasper faz o acesso ao banco. Assim:
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, /*este valor setará REPORT_CONNECTION -->*/dataSource.getConnection());
Repare que vc não precisa setar o REPORT_CONNECTION diretamente no Map parameters, basta passar a conexão como parâmetro do método fillReport.
Espero ter esclarecido.
Abraço