Parâmetros do IReport no JasperReport

Ola , vc quer passar os parametros pela aplicação e nao pelo Ireport certo? se for isso …
passe por um Map assim :

  public JasperPrint gerar(String parametro) {
        JasperPrint rel = null;
        try {
    
            Connection con = this.conexao;
            HashMap map = new HashMap();
            // onde "nome" eh o nome do parametro definido no Ireport
            map.put("nome",parametro);
            String arquivoJasper = "TesteParametros.jasper";
            rel = JasperFillManager.fillReport(arquivoJasper, map, con);
            
            //visualiza relatorio
            //JasperViewer.viewReport(rel); 
             
            //imprime direto
            //JasperPrintManager.printReport(rel, true);
        
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
          
           
        }
         
        
        return rel;
    }

Espero ter ajudado … :smiley:

[quote=murieta]Ola , vc quer passar os parametros pela aplicação e nao pelo Ireport certo? se for isso …
passe por um Map assim :

  public JasperPrint gerar(String parametro) {
        JasperPrint rel = null;
        try {
    
            Connection con = this.conexao;
            HashMap map = new HashMap();
            // onde "nome" eh o nome do parametro definido no Ireport
            map.put("nome",parametro);
            String arquivoJasper = "TesteParametros.jasper";
            rel = JasperFillManager.fillReport(arquivoJasper, map, con);
            
            //visualiza relatorio
            //JasperViewer.viewReport(rel); 
             
            //imprime direto
            //JasperPrintManager.printReport(rel, true);
        
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
          
           
        }
         
        
        return rel;
    }

Espero ter ajudado … :smiley:
[/quote]

Ai murieta, aproveitando o embalo de vcs ai, gostaria de perguntar uma coisa.
na minha aplicação, que é desktop, to tendo um problema parecido. não consigo passar o parametro via código pro relatorio no meu caso tenho alguns fields no formulario e gostaria que meus dados fossem passados de acordo com o field numAmostraField. Como faço para passar esse campo como parametro para o formulario.

segue o codigo abaixo.

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try{
//String strQuery = “select * from bacteriologica where num_amostra =” + numAmostraField;
//return this.session.createQuery(strQuery).list();
//busca a conexão com a classe ConexaoMySQL
Connection con = new ConexaoMySQL().getConnection();
HashMap parametro = new HashMap();
parametro.put(“num_amostra”, numAmostraField);
JasperPrint jp = JasperFillManager.fillReport(“c:/aplicativo java/Sistema_SAAE/relatorio/Relatorio_Bacteriologica.jasper”, parametro,con);
JasperViewer jrv = new JasperViewer(jp);
jrv.setVisible(true);

   }catch(Exception e){
        e.printStackTrace();
   }        // TODO add your handling code here:
}