Bom dia pessoal,
Estou desenvolvendo um relatório com subrelatório.
Até agora estava tudo perfeito, porém, hoje percebi que meu relatório está enviando os dados para o subrelatório sempre sem o primeiro item da lista, ou seja, a 1 informação nunca aparece.
Mas tentei jogar os fields diretamente no relatório e funcionou perfeitamente.
Estou passando os dados para o subrelatório apenas da seguinte forma:
$P{REPORT_DATA_SOURCE}</Data Source Expression>
E meu MBean está assim:
[code]public void gerarRelatorio() {
try {
List<Map<String, Object>> lstFamilias = relacaoFamiliasSuspensasService
.consultarRelacaoFamiliasSuspensas(regraInscricaoSelecionado, ordenarPorSelecionado);
FacesContext facesContext = FacesContext.getCurrentInstance();
ServletContext servletContext = (ServletContext) facesContext.getExternalContext().getContext();
String pathRel = servletContext.getRealPath("/WEB-INF/classes/");
String pathImg = servletContext.getRealPath("/imagens/logo_cdhu.gif");
String subTitulo = regraInscricaoSelecionado.getDescricao();
String titulo = RelatorioConstants.TIT_RELACAO_FAMILIAS_SUSPENSAS;
Map<String, Object> parametros = new HashMap<String, Object>();
parametros.put("titulo", titulo);
parametros.put("subTitulo", subTitulo);
parametros.put("SUBREPORT_DIR", pathRel);
parametros.put("pathImg", pathImg);
arquivo = super.gerarRelatorio("relacaoFamiliasSuspensas/relacaoFamiliasSuspensas.jasper",
lstFamilias, parametros, FormatoExportacaoEnum.PDF, "relacaoFamiliasSuspensas.pdf");
addMessage(FacesMessage.SEVERITY_INFO, "Relatório gerado com sucesso.");
} catch (BCException e) {
addMessage(FacesMessage.SEVERITY_ERROR, "Erro ao gerar relatório.");
[/code]
Alguém saberia me dizer uma forma de passar os dados para o subrelatório sem perder a primeira informação?
Obrigado!