Exemplo de Classes para chamar relatorios iReport com sub Relatorios em Aplicacao Desktop
6 respostas
F
fbraga
POR FAVOR GALERAA!!!
rsssss
Vou ser direto, Eu simplismente nao sei como executar um relatorio (Ireport) que contenha subRelatorios. tentei fazer
aqui mas só aparece o relatorio principal, os subRelatorios nao aparecem.
Meu sistema é desktop.
Eu gostaria de um exemplo de classe que realize tal feito.
Vou ser direto, Eu simplismente nao sei como executar um relatorio (Ireport) que contenha subRelatorios. tentei fazer
aqui mas só aparece o relatorio principal, os subRelatorios nao aparecem.
Meu sistema é desktop.
Eu gostaria de um exemplo de classe que realize tal feito.
Agradeço desde Ja.
Rico…
F
fbraga
Putz. agora tu me enrolou parceiro… kkkkk
mas imagino que nao…
aguardo respostas
F
fbraga
Ireport 3.0.0 acho que é disso que vc ta falando, né?
ManoJava
Bom dia!!
Vc ja inseriu o sub-relatorio dentro do relatorio principal ? Ja fez a passagem de parametros do principal para o sub? ja setou o caminho do relatorio? definiu qual DataSource ele irá utilizar?
são alguns dos passos que vc tera q executar para rodar seu relatório.
Att.
F
fbraga
ManoJava.
Fiz sim, tudinho. pra esclarecer melhor, qdo eu executo no preview do iReport, tudo funciona legal,entretanto,
ao executar pelo sistema, só aparecem os dados do relatorio principal.
Vou mandar a classe que fiz para executar o relatorio pra vc dar uma olhada.
importjava.util.HashMap;importjavax.swing.JOptionPane;importnet.sf.jasperreports.engine.JRResultSetDataSource;importnet.sf.jasperreports.engine.JasperFillManager;importnet.sf.jasperreports.engine.JasperPrint;importnet.sf.jasperreports.view.JasperViewer;publicclassRelatorioProcesso{Stringcodigo,situacao;Conexaoconecta=newConexao();publicRelatorioProcesso(StringcodProc){codigo=codProc;try{conecta.conecta();conecta.executeSQL("SELECT processo.`numProcesso` AS processo_numProcesso,"+"requerente.`nome` AS requerente_nome,requerente.`telefone` AS requerente_telefone,"+"vara.`vara` AS vara_vara, orgao.`descricao` AS orgao_descricao,"+"objeto.`objeto` AS objeto_objeto, acao.`acao` AS acao_acao,"+"processo.`situacao` AS processo_situacao "+"FROM"+"`ligacao_processo_requerente` ligacao_processo_requerente INNER JOIN "+"`processo` processo ON ligacao_processo_requerente.`numProcesso` = processo.`numProcesso`"+"INNER JOIN `requerente` requerente ON ligacao_processo_requerente.`cpfRequerente` = requerente.`cpf`"+"INNER JOIN `vara` vara ON processo.`codVara` = vara.`codVara`"+"INNER JOIN `orgao` orgao ON processo.`codOrgao` = orgao.`codOrgao`"+"INNER JOIN `objeto` objeto ON processo.`codObjeto` = objeto.`codObjeto`"+"INNER JOIN `acao` acao ON processo.`codAcao` = acao.`codAcao`"+"WHERE processo.numProcesso ='"+codigo+"'");JRResultSetDataSourcejrRs=newJRResultSetDataSource(conecta.resultset);HashMapparametro=newHashMap();parametro.put("NUMERO",codigo);parametro.put("SUBREPORT_DIR","C:\\Sistema Dorival\\relatorios\\");JOptionPane.showMessageDialog(null,parametro);JasperPrintrelatorio=JasperFillManager.fillReport("C:/Sistema Dorival/relatorios/principalc.jasper",parametro,jrRs);JasperViewer.viewReport(relatorio,false);}catch(Exceptionerro){JOptionPane.showMessageDialog(null,"Erro ao Exibir Relatório"+erro);}}// RelatorioProcesso() {// throw new UnsupportedOperationException("Not yet implemented");// }voidsetVisible(booleanb){thrownewUnsupportedOperationException("Not yet implemented");}// public static void main(String args[])// {// new RelatorioProcesso().setVisible(true);// }}
P.S: caso vc tenho um outro exemplo de classe JAVA que execute relatorios com subRelatorios por favor post pra mim.
Grato…
ManoJava
Boa tarde!
Normalmente o que acontece nesses casos é a passagem do parametro com o caminho do sub-relatório, verifique se seu sub esta na mesma pasta da aplicação, tente fazer mudanças no caminho e veja o resultado.