我正在尝试通过为台式机应用程序设计的报告来满足某些要求。我将尽我所能尽可能清楚地解释自己。情况如下:
我有一个报告,该报告在<detail>
区域中有一个简单的表,然后有很大一部分静态文本和2或3个表达式,应该与<summary>
区域相对应。在一开始,我试图将所有这些信息放入<summary>
中,但随后我发现JasperReports波段的656px高度限制。
解决该问题的第二个尝试是将静态摘要信息放在子报表中。这样,我可以使用<title>
和<summary>
频段将字段放在两个频段中,而不必担心频段高度限制。该解决方案的问题在于,我无法在子报告部分(具有2或3页)中显示页码(来自第一个报告)。我在摘要中找到了页脚和页眉的选项(JasperStudio中的一个复选框,它是isSummaryWithPageHeaderAndFooter="true"
元素中的<jasperReport>
属性),但是随后我的报告给了我预览时的编译错误;不知道这是否是JasperStudio中的错误:我尝试了2个最新版本,并且错误相同。
最后,我尝试用不同的查询添加第二个<detail>
带,该查询仅返回单个值。现在的问题是,我无法将第二个详细信息带放置在第一个详细信息带的下方:在预览中,我交替地从每个带状对象中看到一行,而不是我需要的。经过大量搜索后,我发现这是不可能的。
引起问题的摘要要求
摘要有以下要求
具有几个静态文本字段和一些其他表达式,其中包含计算出的字段和参数(格式化的日期和类似的内容)。
必须对这些页面进行分页(页脚中[总]的[当前]页)
主报告和摘要的数据源和查询相同
第一项要求使摘要带需要的高度大于656像素,这是该带允许的最大高度。因此,我尝试了上面简要描述的解决方案。现在,我将描述子报表方法的问题。isSummaryWithPageHeaderAndFooter="true"
的子报表
当我尝试使用这种方法从Jaspersoft Studio预览报告时,首先得到以下状态(在IDE询问参数之前):
输入参数时,将获得以下状态
之后,时间和页面会不断增长,直到程序崩溃为止。在不同的安装中会发生相同的行为:我在Windows 7和Mac OS中都尝试了6.3.1和6.4.0版本。但是,使用“编译报告”选项可以成功从IDE编译报告
(我的意思是它生成了.jasper
文件)但是当我将报告导出为PDF(或使用JasperViewer
显示)时,它不会在摘要区域的页脚中显示
注意:从简单的Java应用程序编译报告不会给我任何错误。
欢迎任何帮助。提前致谢
最佳答案
您可以添加一个不会产生任何破裂的虚拟组,并将第二个细节的内容放置在组页脚区域内。