Classe Java com IReport

1 resposta
B

Ola a Todos,

Senhores podem me ajudar nessa classe, se da forma que estou passando o JTextField esta correto,
aconteçe que qdo digito algo no JTextField nao aconteçe nada, o relatorio vem porem com o parametro
que esta configurado no IReport.

Obrigado…

try
        {
             Connection con = new ConexaoMySQL11().getConnection();
             HashMap parametros = new HashMap();

             //DESSA FORMA FUNCIONA
             // parametros.put("DATA_INICIO", "1/07/2009");
            //parametros.put("DATA_FIM",    "2/07/2009");

            //DESSA FORMA NAO FUNCIONA 
            parametros.put("DATA_INICIO", " '"+(txtDataInic.getText())+"' ");
            parametros.put("DATA_FIM",    " '"+(txtDataFin.getText())+"' " );

            JasperPrint jp = JasperFillManager.fillReport("./Jasper/testNome.jasper", parametros, con);
            JasperViewer jrv = new JasperViewer(jp);
            jrv.setVisible(true);
         }
        catch(Exception e) {
            e.printStackTrace();
        }

1 Resposta

W

Amigo,

A principio caso seja um relatorio mais simples basta vc passar o ResultSet da consulta, e isso resolverá, caso vc não esteja trabalhando com sub-relatórios.

Aconselho vc passar os parâmetros como String e fazer a conversão no relatório.

Faça algo do tipo.

ResultSet rs = new Consulta.consultaQualquer();
            JRDataSource jrds = new JRResultSetDataSource(rs);
            JasperPrint jp = ("relEmp.jasper", new HashMap(), jrds);
            JasperViewer.viewReport(jp, false);

Para relatórios simples, sem sub-relatórios, somente o resultset resolve o problema.

Poste qual é a consulta que vc está utilizando que poderá ser bem útil.

Abraço.

Criado 4 de julho de 2009
Ultima resposta 4 de jul. de 2009
Respostas 1
Participantes 2