Ireport: subreport e VO com list como usar!?

3 respostas
quebrado

Boa tarde Pessoal!
Estou usando pela primeira vez o ireport e não estou conseguindo utilizar o subreport.
Ja procurei na net! e vi vários tutoriais mas não consegui fazer o negocio funcionar.
Criei um VO com 3 List que ja estão carregadas, mas nao consigo amarar as lists com o relatório!?
A conexão como o jar esta ok. Os subrelatorios estão funcionado isoladamente.
Mas quando amaro tudo. Gera um erro de classcastexception deste meu vo.
Qualquer ajuda é bem vinda e estou usando o ireport 3.1.2.
Grato

3 Respostas

fernei

Quebrado

Cada list que você tem deverá ser um relatorio, neste caso pelo que entendi vc terá um relatorio principal (1 list) e dois sub-relatorios.

Espero ter ajudado, qualquer coisa posta o erro ai ok.

Abraços

quebrado

Oi fernei,
O erro gerado é este aqui.
Não sei o que pode estar errado!?

Compiling to file... .\relatorioBase.jasper -> C:\Arquivos de programas\JasperSoft\iReport-3.0.0\relatorioBase.java
Compilation running time: 140. 
  Filling report...
  Locale: português (Brasil)
  Time zone: Default
Error filling print... Error evaluating expression :      Source text : $F{listaInformacaoMercado} 
net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :      Source text : $F{listaInformacaoMercado}      at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:197)      at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:537)      at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:505)      at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:826)      at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:335)      at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:259)      at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:275)      at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:426)      at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1380)      at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:692)      at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:255)      at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:113)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:879)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:801)      at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:517)      at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:973)      at java.lang.Thread.run(Unknown Source)  Caused by: java.lang.ClassCastException: br.org.teste.ColecaoDataSource      at relatorioBase_1228745548549_538666.evaluate(relatorioBase_1228745548549_538666:180)      at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:186)      ... 18 more  
Print was not filled. Try using an EmptyDataSource...
quebrado

Depois de tentar de tudo que é forma resolvi carregar os meus subrelatorios por intermedio de um map.
Não ficou a solução mais linda do mundo, mas funcionou certinho.
Obrigado e t+ 8)

Criado 5 de dezembro de 2008
Ultima resposta 9 de dez. de 2008
Respostas 3
Participantes 2