Como faço para usar o valor de um campo retornado por minha query no relatório principal como critério na clausula where do meu subrelatório? Procurei muito isso na internet, mas, não consegui resolver
Como faço para usar o valor de um campo retornado por minha query no relatório principal como critério na clausula where do meu subrelatório? Procurei muito isso na internet, mas, não consegui resolver
Oi Gilson,
na query vc usa a sintaxe $P{nome _do_parametro}
, por exemplo:
SELECT * FROM PEDIDOS WHERE PEDIDO_ID = $P{meu_param_pedido_id}
Para passar esse parâmetro ao relatorio vc usa um Map<String, object>
, por exemplo:
Connection connection = new ConnectionFactory().getConnection();
String nomeArquivo = "gasto_por_mes.jasper";
//preenchendo o map com o paramtro
Map<String, Object> parametros = new HashMap<>();
parametros.put("meu_param_pedido_id", 3);
JasperPrint jasperPrint = JasperFillManager.fillReport(nomeArquivo, parametros, connection);
//usando jasperPrint
No capitulo 6 implementaremos exatamente esse caso dentro de uma aplicação web.
Abs, Nico