Estou fazendo um relatório utilizando iRerport. Tenho que passar uma lista de parametros para fazer a consulta sql dentro do relatorio, até entao tudo OK.
Um desses parametros é uma lista de Pessoas(Tecnicos), que na interface é um combobox. Se selecionar um técnico vai trazer os registros referentes aquele Técnico.
Meu problema é que na especificação tem a opção “Todos”, que significa trazer todos os registros de todos os usuarios.
Como fazer isso na ireport, passar o parametro “ID_TECNICO”, se ele for null desconsiderar a clausura where id_tenico = P{ID_TECNICO} ?
Dúvida com ireport
2 Respostas
E
Tem que fazer o tratamento na query, no oracle ficaria assim:
id_tenico = nvl( P{ID_TECNICO}, id_tenico)
Obrigado pela resposta. Mas estou usando MySQL. E encontrei uma forma de fazer
No código:
…
if("todos".equals(idTecnico))
params.put("TECNICO", " 1 = 1 ");
else
params.put("TECNICO", " t.id = "+idTecnico );
na query do .jrxml
…
where $P!{TECNICO}
Criado 29 de dezembro de 2016
Ultima resposta 29 de dez. de 2016
Respostas 2
Participantes 2
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Guia pratico de TypeScript: Melhore suas aplicacoes... Por Thiago da Silva Adriano — Casa do Codigo