Seguinte, criei o meu relatorio no netbeans tudo blz, mais nao sei como faço para chamar este relatorio em minha aplicação,
fiz um pacote chamado relatorios dentro da aplicação e estou travado nesta parte.
Como faço para exibir este meu relatorio quando o usuario clicar em um item de menu por exemplo?
Vlws cara, dei uma lida no tutorial, mais nao quero um relatorio tao complexo, quero um relatorio bem simples mesmo, só pra exibir os dados cadastrados na tela e beleza, fiz esse código, mais esta dando erro, e nao to conseguindo achar pq, debuguei o programa e o erro esta sendo acusado na linha 20, nao tenho nem ideia do por que oO
packagesgia.relatorios.report;importnet.sf.jasperreports.engine.JRException;importnet.sf.jasperreports.engine.JasperFillManager;importnet.sf.jasperreports.engine.JasperPrint;importnet.sf.jasperreports.engine.data.JRBeanCollectionDataSource;importnet.sf.jasperreports.view.JasperViewer;importsgia.DAO.CompraJpaController;importsgia.erros.ErroException;publicclassRelatorioCompra{publicvoidgerarRelatorio(){CompraJpaControllerjpaCompra=newCompraJpaController();JRBeanCollectionDataSourcedataSource=newJRBeanCollectionDataSource(jpaCompra.findCompraEntities());try{JasperPrintreport=JasperFillManager.fillReport("./relatorios/relatorioCompra/compra.jasper",null,dataSource);JasperViewerviewer=newJasperViewer(report,false);viewer.setVisible(true);}catch(JRExceptionex){thrownewErroException("Erro ao gerar relatório de compra",ex);}}}
ele cai na excessao ali “Erro ao gerar relatorio de compra”, e eu nao to conseguindo acha o erro.
F
fgs4ntos
Coloquei assim:
packagerelatorio;/** * * @author Gonçalves*/importcontroladoresJPA.AnimalJpaController;importentidades.Animal;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjavax.swing.JOptionPane;importnet.sf.jasperreports.engine.JRDataSource;importnet.sf.jasperreports.engine.JasperFillManager;importnet.sf.jasperreports.engine.JasperPrint;importnet.sf.jasperreports.engine.data.JRBeanCollectionDataSource;importnet.sf.jasperreports.view.JasperViewer;publicclassRelatorio{List<Animal>animalList;publicvoidRelatorio(){AnimalJpaControllerani=newAnimalJpaController();animalList=ani.findAnimalEntities();if(animalList.size()==0){Map<String,String>parametros=newHashMap<String,String>();parametros.put("titulo","Relatório de Animais da Fazenda");try{JRDataSourcecollection=newJRBeanCollectionDataSource(animalList);JasperPrintimpressao=JasperFillManager.fillReport("C:\Users\Gonçalves\Documents\NetBeansProjects\Fazenda\src\relatorio\nascidosnafazenda.jasper",parametros,collection);JasperViewer.viewReport(impressao);}catch(Exceptionex){System.out.println(ex.getMessage());ex.printStackTrace();}}else{JOptionPane.showMessageDialog(null,"Não há dados cadastrados");}}//Testepublicstaticvoidmain(Stringargs[]){Relatoriorl=newRelatorio();rl.Relatorio();}}
no meu caso eu uso limpo a propiedade clienteController.filtro pq eu chamo esse relatório da pagina de pesquisa tambem ai nesse caso tenho que considerar o filtro
espero ter ajudado
F
fgs4ntos
esqueci de pergunta, A sua é aplicação aplicação web ou descktop ?
J
Jacomete
eh web.
J
Jacomete
esqueci de mencionar que eu uso o maven e nele tem como colocar um plugin para compilar automatico os relatorios em jasper