Galera
Alguem sabe o motivo de todos os Fields e outros objetos que defini na banda detail não aparecem quando gero o meu relatório.
Simplesmente a banda detail aparece toda em branco, sem os dados que defini antes na Collection.
Se alguem souber, agradeço !
Abraços !
Provavelmente sua Colletion está vazia ou nula.
Se você envia a collection nula, nenhum elemento da banda detail aparece, tente mudar esses fields para outra banda do relatorio e verá q eles aparecem.
Abraço
Pior que não meu amigo.
Estou utilizando Junit para testar isso. Estou setando todos os objetos da Collection e mesmo assim
somente na detail não aparece nada. Já tentei colocar outros fields dentro mais o erro continua.
Fora da detail os objetos aparecem, dentro da banda tudo fica branco !
Mas como vc manda está lista para o relatorio?
Simplesmente envia ela como parametro ?
Tente passar como “JRDataSource”,
Tente fazer assim (JRDataSource) new JRBeanCollectionDataSource(lista).
Se puder colocar seu codigo ae seria melhor para visualizar.
Abraço.
Ta ae um trecho da geração do report . . .
PessoasVO pessoasVO = new PessoasVO();
pessoasVO.setNome("Joao Silva");
Collection<PessoasVO> collection = new ArrayList<PessoasVO>();
collection.add(pessoasVO);
URL archive = getClass().getResource("report3.jasper");
try {
JRBeanCollectionDataSource jBeanCollectionDataSource = new JRBeanCollectionDataSource(collection);
JasperReport jasperReport;
JasperPrint jasperPrint;
jasperReport = (JasperReport) JRLoader.loadObject(archive);
jasperPrint = JasperFillManager.fillReport(jasperReport,new HashMap(),jBeanCollectionDataSource);
JasperViewer.viewReport(jasperPrint,false);
JasperExportManager.exportReportToPdfFile(
jasperPrint, "E:/simple_report.pdf");
Amigo, aparentemente seu codigo está ok.
Tente fazer desta maneira para testar.
Coloque o report3.jasper em c: so para testar.
ae vc tenta efetuar a exportacao direto assim:
PessoasVO pessoasVO = new PessoasVO();
pessoasVO.setNome("Joao Silva");
Collection<PessoasVO> collection = new ArrayList<PessoasVO>();
collection.add(pessoasVO);
JasperPrint jasperPrint = JasperFillManager.fillReport("c:\\report3.jasper", new HashMap(), new JRBeanCollectionDataSource(collection));
JasperExportManager.exportReportToPdfFile(
jasperPrint, "e:\\simple_report.pdf");
Se puder enviar o fonte do relatorio para que possa dar e tentar gerar seria interessante.
Abraço.
Hey rdmardegam
Segue meu relatório ! Se puder ver agradeço !
Continuo ainda com o mesmo problema na banda detail !
Abraços e obrigado
Entao, somente o $F{annotations} irá se repetir no relatorio?
Pois da maneira que está sendo montado, somente este atributo ira ser repetido, pois é o unico q está na banda de DETAIL.
Teria o cidigo de como vc está chamando o Ireport?
Sim somente o $F{annotations} pois é o texto de maior tamanho. Demais informações permanecem iguais.
Estarei enviando.
Obrigado
Como estaria o metodo get? O metodo get deve estar
"String getAnnotations()" para que o jasper consiga recuperar corretamente, ou o jasper deve ser alterado.
Amigo, alterei de groovy para java, para poder compilar o relatorio.
Entao, aparentemente está correto !! O nome do paciente so aparece na primeira folha mesmo ou deve aparecer nas demais folhas caso existam? Enfim, se tiver que aparecer nas outras folhas, altere o conteudo da banda “DETAIL” para “PAGEHEADER”.
Segue ae anexo as alteracoes q fiz para poder gerar o relatorio !!
Se quiser me add no msn ae: rdmardegam@hotmail.com
Okay ! Muito Obrigado cara !
Sim, precisam aparecer nas outras páginas tmb !
Apenas um detalhe, o Jasper não consegue gerenciar quanto o texto que irá na banda detail ultrapassar o limite e já incluir isso em uma nova página ?
Realizei testes aqui sem o seu laço for com um texto maior do que o suportado pelo field annotations , mais aparentemente as páginas não foram incluidas !
Abraços !
Selecione o check, aumentar quando exceder para o field!
Assim ele ira aumentar e se não couber na pagina atual vai aparecendo nas paginas seguintes.
Abraço!