Como passar parâmetros de data para o HashMap


public class Fechamento {
     private Connection conexao  ;
     public Fechamento() throws SQLException{
         this.conexao = Conexao.getConexao();
     }
    
    public void geraRelatorio(String pathReport, String pk,Date dt_inicial, Date dt_final) throws JRException {
        //supondo que o teu ficheiro teste.jasper esteja dentro da tiua aplicação

        HashMap map = new HashMap();
        map.put(Integer.parseInt(pk),dt_inicial,dt_final);[/b]

        URL relatorioURL = RelatAso.class.getResource(pathReport);

        JasperReport jr = (JasperReport) JRLoader.loadObject(relatorioURL);
        JasperPrint jp = JasperFillManager.fillReport(jr, map, conexao);
        JasperViewer jv = new JasperViewer(jp, false);
        jv.setVisible(true);

    }

o erro esta na linha 11.
Galera preciso passar para 3 parâmetros para um relatório que já esta funcionando
os parâmetros que é uma pk , data inicial e data final mas nao aceita :frowning:
como passo estes parâmetros se alguém puder me ajudar agradeço desde já.

Cara,

Não sei exatamente com o seu report paga seus dados mas tentar fazer com que seu map fica assim:

HashMap <Integer,List><Date>>map = new HashMap<Integer,List><Date>>();  
map.put(Integer.parseInt(pk), Arrays.asList(dt_inicial, dt_final));

tentei aqui mas não sei se é a sintaxe não deu.
meu relatório e feito no ireport já criei os parâmetros que são 3 o numero do cliente que do tipo Integer e as datas inicial e final que
são do tipo Date mesmo será que existe outra forma de passar esses parâmetros…?

Cara, quais são os nomes dos parâmetros no relatório?

Aí você usa o put com o o nome do parâmetro como chave.

Ex:
map.put(“primaryKey”, Integer.parseInt(pk));

Não sei se existe outra forma de fazer isso, mas passa os parâmetros como falei aqui em cima que dá certo fácil fácil, só tem que saber os nomes que você colocou na hora de criar lá no iReport.