Nenhum produto no carrinho.
Como utilizar lista java como parâmetro no iReport
Neste artigo iremos apresentar como utilizar lista do java como parâmetro no iReport. Let’s go.
Criando lista no java
Primeiro passo é criar sua lista com seus objetos. Feito isto é necessário criar um JRBeanCollectionDataSource passando como parâmetro sua lista de objetos criada.
JRBeanCollectionDataSource itemsJRBean = new JRBeanCollectionDataSource(lista);
Agora vamos criar um mapa de String/Objeto para enviar parâmetros para o iReport.
Map<String, Object> parametros = new HashMap<String, Object>(); parametros.put("LISTA", lista);
Então é só enviar o mapa quando for compilar o relatório
JasperPrint jasperPrint = JasperFillManager.fillReport("/relatorio.jrxml", parametros, new JREmptyDataSource());
Obtendo parâmetro no iReport
Com a parte do java já configurado, é necessário criar um “Parameters” no iReport para obter o parâmetro enviado do java. Então crie um novo parâmetro com o mesmo nome criado na lista de parâmetros enviados pelo java.
Name: LISTA Class: net.sf.jasperreports.engine.data.JRBeanCollectionDataSource
Criando dataset com uma tabela
Crie uma nova tabela e selecione “just create an empty table”, selecione seu estilo e clique em finalizar.
Agora precisamos definir uma expressão JRDatasource para que o dataset da tabela tenha acesso as variáveis do objeto enviado como parâmetro. Para isto clique com o botão direito sobre a tabela e selecione “Edit table datasource”. No lugar de:
new net.sf.jasperreports.engine.JREmptyDataSource(1)
Substitua pelo código abaixo (utilize o mesmo nome do parâmetro criado no iReport):
$P{LISTA}
Criando fields da tabela
Acesse o dataset criado para a tabela e crie os campos com o nome e tipo correspondentes ao modelo java.
Dúvidas?
Você tem outras dúvidas? O tutorial não funcionou? Deixe seu feedback nos comentários abaixo. Bom, espero que essa dica tenha sido útil.