Problema com banda Detail Jasper

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!