我正在尝试通过为台式机应用程序设计的报告来满足某些要求。我将尽我所能尽可能清楚地解释自己。情况如下:

我有一个报告,该报告在<detail>区域中有一个简单的表,然后有很大一部分静态文本和2或3个表达式,应该与<summary>区域相对应。在一开始,我试图将所有这些信息放入<summary>中,但随后我发现JasperReports波段的656px高度限制。

解决该问题的第二个尝试是将静态摘要信息放在子报表中。这样,我可以使用<title><summary>频段将字段放在两个频段中,而不必担心频段高度限制。该解决方案的问题在于,我无法在子报告部分(具有2或3页)中显示页码(来自第一个报告)。我在摘要中找到了页脚和页眉的选项(JasperStudio中的一个复选框,它是isSummaryWithPageHeaderAndFooter="true"元素中的<jasperReport>属性),但是随后我的报告给了我预览时的编译错误;不知道这是否是JasperStudio中的错误:我尝试了2个最新版本,并且错误相同。

最后,我尝试用不同的查询添加第二个<detail>带,该查询仅返回单个值。现在的问题是,我无法将第二个详细信息带放置在第一个详细信息带的下方:在预览中,我交替地从每个带状对象中看到一行,而不是我需要的。经过大量搜索后,我发现这是不可能的。

引起问题的摘要要求

摘要有以下要求


具有几个静态文本字段和一些其他表达式,其中包含计算出的字段和参数(格式化的日期和类似的内容)。
必须对这些页面进行分页(页脚中[总]的[当前]页)
主报告和摘要的数据源和查询相同


第一项要求使摘要带需要的高度大于656像素,这是该带允许的最大高度。因此,我尝试了上面简要描述的解决方案。现在,我将描述子报表方法的问题。

isSummaryWithPageHeaderAndFooter="true"的子报表

当我尝试使用这种方法从Jaspersoft Studio预览报告时,首先得到以下状态(在IDE询问参数之前):

jasper-reports - 我如何在JasperReports中构建包含大量摘要的报告-LMLPHP

输入参数时,将获得以下状态

jasper-reports - 我如何在JasperReports中构建包含大量摘要的报告-LMLPHP

之后,时间和页面会不断增长,直到程序崩溃为止。在不同的安装中会发生相同的行为:我在Windows 7和Mac OS中都尝试了6.3.1和6.4.0版本。但是,使用“编译报告”选项可以成功从IDE编译报告

jasper-reports - 我如何在JasperReports中构建包含大量摘要的报告-LMLPHP

(我的意思是它生成了.jasper文件)但是当我将报告导出为PDF(或使用JasperViewer显示)时,它不会在摘要区域的页脚中显示

注意:从简单的Java应用程序编译报告不会给我任何错误。

欢迎任何帮助。提前致谢

最佳答案

您可以添加一个不会产生任何破裂的虚拟组,并将第二个细节的内容放置在组页脚区域内。

10-07 12:23
查看更多