Filtros / Parametros Ireport

Java

27/08/2015

Bom dia, agradeço ajuda desde já...


Os relatórios que estou fazendo, até agora esta me suprindo. Só que estou precisando colocar mais de um filtro(parametros). Está dando certo assim: Se eu passar 2 filtros tipo;

Código Ireport
select codigo, data from pedido where codigo = $P and data = $P >>>> Até aqui, se eu passar os dois valores para 'codigo e data' funciona e o relatório traz as informaçoes.

O problema é quando nesta situação quero passar apenas um filtro. Tipo se tenho um relatório com dez filtros, mas na hora que o usuário for utilizar ele quer filtrar só pela 'data'. Assim o relatório não traz página por causa do 'and' e se trocar pelo 'or', traz tudo.

Não sei se fui claro, segue código.

Código Java
public void imprimirCadClienteRota(int codRota/*, int codPraca, int codCliente*/) {
conexao = ConexaoBanco.fabricaConexao();

try {
//HashMap filtro = new HashMap();
Map<String, Object> filtro = new HashMap<String, Object>();
filtro.put("codRotaInt", codRota);
//filtro.put("codRota", codRota);
// filtro.put("codPraca", codPraca);
//filtro.put("codCliente", codCliente);
JasperPrint impressao = JasperFillManager.fillReport("C:/JRMaxSistema/build/classes/relatorios/RelClientesPorRotaResumido.jasper", filtro, conexao);
JasperViewer viwer = new JasperViewer(impressao, false);
viwer.setVisible(true);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Erro ao imprimir" + e);
}
}
Eric Clauber

Eric Clauber

Curtidas 0
POSTAR