Chamar um relatorio feito no iReport

1 resposta
D

Clolegas, boa noite

vamos ver se algém pode me ajudar
fizelos relatorios com iReport tudo ta funcionando belezinha

conexao ativa

a aplicação é para desktop

utilizamos o netBeans 5.0

algém pode ajudar?

pode responder no email [email removido]

1 Resposta

A

uns pedacinhos que podem te ajudar...

import java.awt.Component;
import java.sql.Connection;
import java.util.HashMap;
import java.util.Vector;
import javax.swing.JList;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;

...

private void geraRelatorio( String rel ){
    JasperPrint relatorio = null;
    String descricaoParametro = null;
    try {
        HashMap parametros = new HashMap();
        
        // carregando o arquivo .jasper
        JasperReport jasperReport = (JasperReport) JRLoader.loadObject( rel );
        
        // obtendo lista de parâmetros do relatório
        JRParameter[] jrParameter = jasperReport.getParameters();
        
        /* percorrendo lista de parâmetros. Parâmetros default do iReport não possuem descrição,
         * desta forma conseguimos selecionar os parâmetros por nós definidos no relatório */
        for( int i = 0; i < jrParameter.length; i++ ){
            descricaoParametro = jrParameter[i].getDescription();
            if( descricaoParametro != null ){
                parametros.put( jrParameter[i].getName(), JOptionPane.showInputDialog(null, descricaoParametro, "Entrada de Parâmetros", JOptionPane.QUESTION_MESSAGE ));
            }
        }
        relatorio = JasperFillManager.fillReport( rel, parametros, conexaoOracle );
        JasperViewer visualizador = new JasperViewer( relatorio, false );
        visualizador.setVisible( true );
    }
    catch ( JRException e ){
        e.printStackTrace();
    }
Criado 26 de março de 2007
Ultima resposta 26 de mar. de 2007
Respostas 1
Participantes 2