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

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…

Cara você está usando algum Framework?

[quote=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…
[/quote]

Putz. agora tu me enrolou parceiro… kkkkk

mas imagino que nao…

aguardo respostas

Ireport 3.0.0 acho que é disso que vc ta falando, né?

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.

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…

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.