Ireport NetBeans

5 respostas
J

Tenho uma aplicaçao JSF, e desenvolvo ela pelo NetBeans 6.9.1, e estou usando os plugins do Ireport 4.0.1, para fazer os relatorios.

Já fiz o meu relatorio, colcoquei parametros no sql que carrega os dados, mas tenho dois problemas, na real, duas duvidas…

  1. Como que faço para que os parametros do meu SQL que criei sejam preenchidos pelos dados filtrados em uma tela de opçoes do relatorio.
    Por exemplo.

Tela tem Fornecedor, Lote, Terceiros

e tenho esses 3 parametros no meu Where do meu sql que fiz do meu relatorio, como faço para que o getter por exemplo do Fornecedor da minha classe para o Fornecedor do meu Where do relatorio??

  1. Como que faço para chamar esse relatorio em um botao por exemplo. Fazer com que ele seja visualizado em formato PDF?

Se alguem puder dar uma força!

5 Respostas

Anime

Oi,

www.guj.com.br/posts/downloadAttach/2848.java

J

Infelizmente nao consegui fazer com que funcionasse, pois alguns metodos que é usado nao entendi o pq, e como estou usando netbeans talvez nao se adapte.

Esse é o codigo que eu chamo no meu botao de visualizaçao

public void relatorio() throws Exception {
        JasperPrint relat;
        relat = gerar();
        JasperViewer.viewReport(relat, false);
    }

Esse codigo é o que deveria funcionar para abrir o arquivo.

public JasperPrint gerar() throws Exception {
        JasperPrint rel = null;
        try {
            HashMap map = new HashMap();
            String arquivoJasper = "D:/Leite_Novo/Leite/RelAdiantamento.jasper";
            rel = JasperFillManager.fillReport(arquivoJasper, map, Conexao.Conecta());
        } catch (Exception e) {
            FacesMessage msg = new FacesMessage(
                    "Erro ao carregar relatório" + e.getMessage());
            FacesContext.getCurrentInstance().addMessage(null, msg);
        }
        return rel;
    }

Onde ocorre esse erro aqui: “NullPointerException” :S

Se puder alguma dica, pois estou fazendo pela primeira vez, entao to um pouco perdido.

J

Conforme vi alguns exemplos de relatorio do Ireport, mudei a forma da chamada do .jasper para essa forma

public JasperPrint gerar() {
        JasperPrint rel = null;
        ResultSet rs = null;
        try {
            rs = Conexao.Consulta("select la.codigo, valor, to_char(la.data,'DD/MM/YYYY') as data, " 
                    + "\n f.nome as descfornecedor, f1.nome as descterceiro, ll.descricao as lote "
                    + "\n from leite_adiantamentos la "
                    + "\n left join leite_fornecedores lf on lf.codfornecedor = la.fornecedor "
                    + "\n left join fornecedores f on f.codigo = lf.codfornecedor "
                    + "\n left join fornecedores f1 on f1.codigo = la.for_terceiro "
                    + "\n left join leite_lote ll on ll.codigo = la.lote");
        } catch (SQLException ex) {
            Logger.getLogger(RelatorioAdiantamentos.class.getName()).log(Level.SEVERE, null, ex);
        }
        JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
        try {
            HashMap map = new HashMap();
            String arquivoJasper = "D:/Leite_Novo/Leite/src/java/Relatorios/RelAdiantamento.jasper";
            File arq = new File(arquivoJasper);
            if (arq.exists()) {
                rel = JasperFillManager.fillReport(arquivoJasper, map, jrRS);
            } else {
                rel = null;
            }
        } catch (JRException e) {
            FacesMessage msgd = new FacesMessage(
                    "Erro relatório. " + e.getMessage());
            FacesContext.getCurrentInstance().addMessage(null, msgd);
        }
        return rel;

    }

Faz a chamada do meu .jasper, mas nao acontece nada, nem erro nem nada…simplesmente na linha:

rel = JasperFillManager.fillReport(arquivoJasper, map, jrRS);

para a execuçao, nao acontece erro, nao passa por nada.

Alguem pode me ajudar, preciso conseguir fazer isso, e nao estou conseguindo, aparentemente parece simples, mas nao sei se estou esquecendo de algum detalhe ou é algum processo diferente que se faça.

Anime

Oi,

Talvez ajude…http://www.apostilando.com/download.php?cod=2677&categoria=Java

J

O meu problema nao está na criaçao do relatorio e sim na chamada dele atraves da aplicaçao em java

Criado 8 de março de 2011
Ultima resposta 9 de mar. de 2011
Respostas 5
Participantes 2