Passar variaveis para o IReport

5 respostas
M

Quero saber como passar variaveis para o ireport.
Não quero que i Ireport faça consultas no banco, quero que os dados sejam passados pelo meu programa em Java.
Como faço isso?

5 Respostas

I

Use um Map exemplo

Map map = new HashMap(); map.put("nomeDaSuaVariavelNoIReport", "valor aqui!!!");

M

mas e quando eu chamo o relatório, aonde eu incluo o Map?

B
ResultSet rs = stm.executeQuery(query); //aqui vc cria um ResultSet
            Map parametros = new HashMap();        
	    JRResultSetDataSource jrRS = new JRResultSetDataSource( rs ); //Cria um Japserresultset com base no seu resultsetacima
            JasperPrint impressao = JasperFillManager.fillReport(getClass().getResourceAsStream("/reportname.jasper") , parametros, jrRS);
            JasperViewer viewer = new JasperViewer( impressao , false );              
            viewer.setVisible(true);   
            rs.close();
M

ok, e la no ireport como eu faço pra receber esses parametros?
(lembrando que não quero usar nenhuma fonte de dados(banco de dados, xml etc), apenas passagem de parametros do java pro ireport)

V

Para os dados vc pode passar em JRBeanCollectionDataSource que pode ser uma lista com seus objetos populas ou usar parâmetros através do map conforme informado.

Att.

Criado 2 de dezembro de 2011
Ultima resposta 8 de dez. de 2011
Respostas 5
Participantes 4