1
resposta

Usar valor de Field do Report principal no SubReport

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

1 resposta

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