Exemplo de Classes para chamar relatorios iReport com sub Relatorios em Aplicacao Desktop

6 respostas
F

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.

Agradeço desde Ja.

Rico…

6 Respostas

kiko_lp_St_jimmy

Cara você está usando algum Framework?

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.

Agradeço desde Ja.

Rico…

F

Putz. agora tu me enrolou parceiro… kkkkk

mas imagino que nao…

aguardo respostas

F

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

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.

import java.util.HashMap;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;



public class RelatorioProcesso {

String codigo, situacao;
Conexao conecta = new Conexao();
    
    
public RelatorioProcesso(String codProc)
   { 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+"'");          
         
          
          JRResultSetDataSource jrRs= new JRResultSetDataSource(conecta.resultset) ;
          HashMap parametro = new HashMap();
          parametro.put("NUMERO",codigo);
          parametro.put("SUBREPORT_DIR","C:\\Sistema Dorival\\relatorios\\");
          JOptionPane.showMessageDialog(null, parametro);
          JasperPrint relatorio = JasperFillManager.fillReport(
          "C:/Sistema Dorival/relatorios/principalc.jasper",parametro,jrRs);
         
          
          JasperViewer.viewReport(relatorio,false);
         }
     catch(Exception erro)
       {
        JOptionPane.showMessageDialog(null,"Erro ao Exibir Relatório"+ erro);
       
       }
   }

//    RelatorioProcesso() {
  //      throw new UnsupportedOperationException("Not yet implemented");
   // }

    

   
    void setVisible(boolean b) {
        throw new UnsupportedOperationException("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.

Att.

Criado 27 de setembro de 2011
Ultima resposta 28 de set. de 2011
Respostas 6
Participantes 3