错误的填充打印...无限循环创建新页面

时间:2012-10-30 14:39:21

标签: jasper-reports ireport

尝试预览报告时出现此错误。

Error filling print... Infinite loop creating new page. 
net.sf.jasperreports.engine.JRException: Infinite loop creating new page. 
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageBreak(JRVerticalFiller.java:1903)  
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBreak(JRVerticalFiller.java:1961) 
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupHeaderReprint(JRVerticalFiller.java:704)  
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupHeadersReprint(JRVerticalFiller.java:672)      
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageBreak(JRVerticalFiller.java:1944)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBreak(JRVerticalFiller.java:1961)  
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:747) 
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:281)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:144) 
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:909) 
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:822)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:61) 
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:446)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:276) 
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:745)
at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:891) 
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572) 
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
Print not filled. Try to use an EmptyDataSource...

我是否有必须检查的选项或使其有效的选项?

3 个答案:

答案 0 :(得分:1)

就我而言,我通过在添加细节带的帮助下消除子报告来解决问题。但是,子报表位于组头中,而不在页眉中。对于有类似问题的其他人,我建议采用类似的方法。

答案 1 :(得分:0)

我有同样的问题,我增加了报告的垂直大小。现在问题是固定的。

答案 2 :(得分:0)

您只需要在列标题属性上的$V{PAGE_NUMBER}.equals(1)上的“表达式时打印”上编写Groovy。

当您在详细信息部分中删除子报表时发生这种情况,因此jasper中的列标题重复了两次。

因此,您必须告诉列标题不要再与子报告重复。