fala galera blz.?? estou fazendo um relatorio no ireport no qual ele se relaciona com 3 tabelas no meu banco… 2 tabelas foi tranquilo… consegui fazer rodar usando a conexão… mas na terceira tabela tenho q exibir o custo do material… onde exitem muitas contas a serem feitas… e muitas variaveis a serem levadas em conta… como boa pratica de programação não armazeno campos calculados em meu banco… ta ai o problema… não estou conseguindo fazer as contas dentro do ireport pq são muitos campos e varios testes a serem feitos para o calculo… então optei por gerar um vetor onde ele enviaria ao ireport todos os campos ja calculados… só q não funciona pq não passo a ele a conexão.; existe alguma forma de passar ao ireport a Conexão e o objeto JRBeanCollectionDataSource ao mesmo tempo??? ou alguem tem alguma outra solução pra mim???
o codigo q chamo o ireport é esse…
public void imprimirCusto(int codigo_produto, Collection vetor) throws JRException, IOException{
JasperDesign jasperDesign = JasperManager.loadXmlDesign("C:\Arquivos de programas\IReport\custo.jrxml");
Map parameters = new HashMap();
parameters.put("CODIGO", codigo_produto);
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(vetor);
JasperReport jasperReport = JasperManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperManager.fillReport(jasperReport, parameters, ds);
JasperViewer.viewReport(jasperPrint, false);
}