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?
Use um Map exemplo
Map map = new HashMap();
map.put("nomeDaSuaVariavelNoIReport", "valor aqui!!!");
mas e quando eu chamo o relatório, aonde eu incluo o Map?
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();
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)
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.