Jasper reports 使子报表的所有迭代都集中在细节栏中。在打印下一个细节带之前
请帮助我,我有项目的最后期限 我在Jasper reports 使子报表的所有迭代都集中在细节栏中。在打印下一个细节带之前,jasper-reports,subreport,Jasper Reports,Subreport,请帮助我,我有项目的最后期限 我在detailBand1中有子报表,它有列表数据源进行迭代 第二个detailBand2有一些静态数据,然后是detailBand3,它又有一个子报表,其中包含列表数据源 我希望首先完成所有迭代(取决于迭代中的元素数量) 待打印的detailBand1列表 然后DetailBand2打印一次(因为它有静态文本) 然后是DetailBand3及其所有元素 示例: 报告布局 简化您的问题是否有可能这样做 第1组(记录1) 第1组(记录2) 第2组(记录1) 第二乐团
detailBand1
中有子报表
,它有列表数据源
进行迭代
第二个detailBand2
有一些静态数据,然后是detailBand3
,它又有一个子报表
,其中包含列表数据源
detailBand1
列表DetailBand2
打印一次(因为它有静态文本)DetailBand3
及其所有元素简化您的问题是否有可能这样做 第1组(记录1) 第1组(记录2) 第2组(记录1) 第二乐团(纪录二) 如果不更改数据源,这是不可能的 因此,标注栏2实际上位于详图标注栏内
<detail>
<band/> //Band 1
<band/> //Band 2
</detail>
//波段1
//波段2
因此,死刑将被执行
第1组(记录1)
第2组(记录1)
第1组(记录2)
第二乐团(纪录二)
如果您绝对不想重新考虑您的报表结构,可以通过在数据源中复制数据来实现,对复制数据设置属性以了解是在band1
还是在band2
中写入,然后在band上使用Print When条件
在这种情况下,您的数据源变成:
- 记录1(属性:波段1)
- 记录2(属性:波段1)
- 记录1(属性:波段2)
- 记录2(属性:波段2)
band1
在条件:property=band 1
band2
在条件属性=band 2时具有打印
但是,我建议您使用组标注栏和子报表重新考虑您的报表和数据结构,以达到预期的结果。为什么要使用这些详细标注栏?子报表是否需要重复。。。从我看不到的地方!!,重复项在子报表中!,尝试使用其他乐队。。标题ecc。如果需要控制页面,请考虑组break@PetterFriberg子报表需要重复,并且正在重复。但在打印之后,一旦打印了DetailBand2数据,就可以打印detailBand1的第二次迭代。例如,在上面的代码中,如果有2个位置。对于第一个位置,打印子报告数据,然后打印详细信息栏2的内容,然后对于第二个位置,打印详细信息栏1的内容。我希望首先将DetailBand1的所有迭代打印在一起,然后再打印detailBand2的内容。谢谢,谢谢你的快速回复。我是这些报告的新手,你可以分享一些使用组带和子报告的例子。我可以更改报告的结构。感谢web上有很多示例(使用您最喜欢的搜索引擎),尝试找出您的主要数据集(可能没有,也可能有JREptyDataSource(1),所有查询都在子报告中完成,因为它们是多个的)。伪组带(您根据始终相同的值进行分组,以便只得到一个组)可以有效地控制分页符,因此您可以设置最小高度属性ecc。如果你解决了一些可以解决的问题,但仍然有问题,请发布一个新问题。。。。记住,包括相关的代码和清晰的问题描述。@ Abnav夏尔马考虑接受答案,关闭这个问题。