我的报告设计有以下部分。
Page Header
Group Header#1
Group Header#1a
Group Header#1b
Group Header#2
Group Header#3
Group Header#4
Group Footer#4
Group Footer#3
Group Footer#2
Group Footer#1
Group Footer #1a
Group Footer #1b --> this section contain subreport
Group Footer #1c
在组页脚#1b中,我通过一些参数放置子报表和与主报表链接的子报表。
子报表只有一个需要打印的图像控件,但它完全是条件的,意味着可能会更改数据不会出现在子报表中,因此不会打印图像。为此我做了以下事情:
在子报告中,我单击文件>>报告选项并选中复选框“如果没有记录则禁止打印”,然后在主报告上单击子报告并选择格式报告,然后在子报告选项卡中选中复选框“抑制空白子报告”
同样对于该部分,我打开部分专家并选中复选框“抑制空白部分”。
通过上面的工作,如果没有数据或子报表是空白,则部分被抑制但是标题仍然来自先前的记录和打印的下一条记录。
由于没有人回答我的问题,经过多次研发后我找到了解决方案,以下是解决方案:在页面标题中,我创建了一个共享变量并检查它是否为真,然后禁止标题。
并且通过报告结构,在组页脚#1中有一个复选框'重置页码后'未选中。
在组组页脚#1a中应用重置页码后的公式并检查下一组(即组页脚#1b)的数据是否可用(如果可用),然后返回false以重置页码,否则返回true以重置页码,并且部分创建另一个公式,我再次创建与页眉中相同的共享变量,并根据下一部分的数据将该变量设置为false或true,并将公式拖到Group Footer#1a部分。
在包含子报告的Group Footer#1b的最后一步中,我检查共享变量是否为true,然后将其设置为false。这样打印后的章节标题再次可用于打印。
以上所有步骤解决了我的问题。