Jasper reports 列表或列表中的表
我到处搜索,但找不到明确的答案:是否可以创建一个JasperReport报告,其中包含一个列表,其中包含另一个列表(或表)?如果是,如何将参数传递到内部列表 我尝试在iReport中实现此功能,但收到以下异常:Jasper reports 列表或列表中的表,jasper-reports,ireport,Jasper Reports,Ireport,我到处搜索,但找不到明确的答案:是否可以创建一个JasperReport报告,其中包含一个列表,其中包含另一个列表(或表)?如果是,如何将参数传递到内部列表 我尝试在iReport中实现此功能,但收到以下异常: Error filling print... null Setting up the file resolver... java.lang.UnsupportedOperationException at net.sf.jasperreports.components.t
Error filling print... null
Setting up the file resolver... java.lang.UnsupportedOperationException
at net.sf.jasperreports.components.table.FillTableFactory.cloneFillComponent(FillTableFactory.java:46)
at net.sf.jasperreports.engine.fill.JRFillComponentElement.<init>(JRFillComponentElement.java:77)
at net.sf.jasperreports.engine.fill.JRFillComponentElement.createClone(JRFillComponentElement.java:187)
at net.sf.jasperreports.engine.fill.JRFillElementGroup.<init>(JRFillElementGroup.java:105)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.<init>(JRFillElementContainer.java:100)
at net.sf.jasperreports.components.list.FillListContents.<init>(FillListContents.java:58)
at net.sf.jasperreports.components.list.FillListContents.createClone(FillListContents.java:97)
at net.sf.jasperreports.components.list.HorizontalFillList.getContents(HorizontalFillList.java:308)
at net.sf.jasperreports.components.list.HorizontalFillList.prepare(HorizontalFillList.java:142)
at net.sf.jasperreports.engine.fill.JRFillComponentElement.prepare(JRFillComponentElement.java:129)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:331)
at net.sf.jasperreports.components.list.FillListContents.prepare(FillListContents.java:86)
at net.sf.jasperreports.components.list.VerticalFillList.fillContents(VerticalFillList.java:153)
at net.sf.jasperreports.components.list.VerticalFillList.prepare(VerticalFillList.java:102)
at net.sf.jasperreports.engine.fill.JRFillComponentElement.prepare(JRFillComponentElement.java:129)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:331)
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:379)
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:353)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2046)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:778)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:288)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:151)
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) a
t org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
Print not filled. Try to use an EmptyDataSource...
填充打印时出错…null
正在设置文件解析器…java.lang.UnsupportedOperationException
位于net.sf.jasperreports.components.table.FillTableFactory.cloneFillComponent(FillTableFactory.java:46)
位于net.sf.jasperreports.engine.fill.JRFillComponentElement.(JRFillComponentElement.java:77)
位于net.sf.jasperreports.engine.fill.JRFillComponentElement.createClone(JRFillComponentElement.java:187)
位于net.sf.jasperreports.engine.fill.JRFillElementGroup.(JRFillElementGroup.java:105)
位于net.sf.jasperreports.engine.fill.JRFillElementContainer.(JRFillElementContainer.java:100)
位于net.sf.jasperreports.components.list.FillListContents.(FillListContents.java:58)
位于net.sf.jasperreports.components.list.FillListContents.createClone(FillListContents.java:97)
位于net.sf.jasperreports.components.list.HorizontalFillList.getContents(HorizontalFillList.java:308)
位于net.sf.jasperreports.components.list.HorizontalFillList.prepare(HorizontalFillList.java:142)
net.sf.jasperreports.engine.fill.JRFillComponentElement.prepare(JRFillComponentElement.java:129)
位于net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:331)
位于net.sf.jasperreports.components.list.FillListContents.prepare(FillListContents.java:86)
位于net.sf.jasperreports.components.list.VerticalFillList.fillContents(VerticalFillList.java:153)
在net.sf.jasperreports.components.list.VerticalFillList.prepare(VerticalFillList.java:102)中
net.sf.jasperreports.engine.fill.JRFillComponentElement.prepare(JRFillComponentElement.java:129)
位于net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:331)
位于net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:379)
位于net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:353)
net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2046)
net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:778)
位于net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:288)
位于net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:151)
位于net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:909)
位于net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:822)
位于net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:61)
位于net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:446)
位于net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:276)
位于net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:745)
位于com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:891)
在org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)上
t org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
打印未填写。尝试使用空数据源。。。
是,将“子数据集”的概念作为表格包括在“详细信息”栏中。
C.f.官方IReport文档(IReport ultimate guide.pdf)在他们的网站上。我也遇到了这个错误。后来我发现方法
net.sf.jasperreports.components.table.FillTableFactory.cloneFillComponent
实际上直到6.0.0才实现。所以我用6.0.0替换了旧的Jasperreport库,问题就解决了。我真的不明白-你能再详细说明一下吗?假设我有一个细节栏,我想在其中添加一个列表,在该列表中我想添加一个表-因此,要渲染的表的数量将是细节渲染的次数乘以每个列表的渲染次数!这可能吗?是的!可以说,细节栏已经是第一个列表。“详细信息”栏中的每个内容在(主)报表查询中每个记录呈现一次。如果将具有自己子查询或子数据集的表添加到此带区,则最终将得到与(主)报表查询返回记录一样多的表。每个表的行数(子数据集记录)与子查询为给定(主)记录返回的行数相同。您好!我想我没有说清楚:我想渲染一个表,在该表的每个单元格内渲染另一个表(可能在第二个表的单元格内渲染另一个表)。这能做到吗?我想不是,但我要求是肯定的。我现在不能测试它,所以我不确定你是否正确,以便接受答案。然而,如果这个答案得到任何其他投票,我将很高兴接受它!我创建了一个表a,其中一列包含另一个表B。但B不会出现在最终报告中。如何将数据集传递到内部表