Passar filtro da aplicação java para o relatório do ireport

3 respostas
gustavodefreitasmene

Bom dia a todos!

eu tenho uma aplicação web java com oracle,
e preciso que ao selecionar os filtros do relatório - este itens sejam inseridos no relatório

ex: relatorio de veiculos
na página xhtml eu seleciono um dono,
aí este dono tem que aparecer no cabeçalho do relatório

o meu sistema faz a pesquisa certinho,
eu só não consegui pegar este registro selecionado da página xhtml e inserir no cabeçalho do relatório

minha aplicação usa hibernate,
o relatório usa um JavaBean (VeiculoTO),
e a página xhtml com os filtros usa um ManagedBean

desde já grato pela colaboração!

3 Respostas

drsmachado

Como você cria teu relatório no java? Provavelmente, você passe um Map como argumento, certo?
Pois bem, deixa eu te contar uma coisa, neste map, você pode colocar teus parâmetros, respeitando o seguinte:

  • Quando criar o relatório, no iReport, você deve “mapear” (criar e definir o tipo específico) dos parâmetros. Isso pode ser feito em Parameters, da paleta “Report Inspector”.
  • Tendo o nome do(s) parâmetro(s) definido(s) no .jasper, você inclui o(s) parâmetro(s) no java através do map.
gustavodefreitasmene

Desculpa minha ignorância Machado,
mas meu ManagedBean passa um método na criação do relatório que contém:

uma String com o nome do relatório
um List com os resultados da pesquisa via hibernate
um Map<String, String> com os filtros que foram preenchidos

no ireport eu criei o parâmetro “CODIGO” e “DESCRICAO”, ambos do tipo String

mesmo assim continua me trazendo a informação “null”

fiz o teste com o debug e o Map tem os valores
se puder me dar outra ajuda!

segue abaixo o código que chama o relatório

desde já grato!!!

public void confirmar() {		

try {

List resultado = getService().pesquisa(String.valueOf(grupoInfracao.getCodigo()));
Map<String, String> parametros = new HashMap();
	parametros.put("CODigo",  String.valueOf(grupoInfracao.getCodigo()));
	parametros.put("DESCRICAO", grupoInfracao.getDescricao());
		
	super.confirmar("RelLstGrupoInfracao", resultado, parametros);
	} catch (Exception e) {
		e.printStackTrace();
	}		
}
drsmachado

Coloque o teu código entre as tags [code]

Criado 6 de junho de 2013
Ultima resposta 6 de jun. de 2013
Respostas 3
Participantes 2