根据Crystal Reports XI中子报表中可用的数据来抑制报表标题的问题

问题描述 投票:0回答:1

我的报告设计有以下部分。

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中,我通过一些参数放置子报表和与主报表链接的子报表。

子报表只有一个需要打印的图像控件,但它完全是条件的,意味着可能会更改数据不会出现在子报表中,因此不会打印图像。为此我做了以下事情:

在子报告中,我单击文件>>报告选项并选中复选框“如果没有记录则禁止打印”,然后在主报告上单击子报告并选择格式报告,然后在子报告选项卡中选中复选框“抑制空白子报告”

同样对于该部分,我打开部分专家并选中复选框“抑制空白部分”。

通过上面的工作,如果没有数据或子报表是空白,则部分被抑制但是标题仍然来自先前的记录和打印的下一条记录。

crystal-reports crystal-reports-xi
1个回答
0
投票

由于没有人回答我的问题,经过多次研发后我找到了解决方案,以下是解决方案:在页面标题中,我创建了一个共享变量并检查它是否为真,然后禁止标题。

并且通过报告结构,在组页脚#1中有一个复选框'重置页码后'未选中。

在组组页脚#1a中应用重置页码后的公式并检查下一组(即组页脚#1b)的数据是否可用(如果可用),然后返回false以重置页码,否则返回true以重置页码,并且部分创建另一个公式,我再次创建与页眉中相同的共享变量,并根据下一部分的数据将该变量设置为false或true,并将公式拖到Group Footer#1a部分。

在包含子报告的Group Footer#1b的最后一步中,我检查共享变量是否为true,然后将其设置为false。这样打印后的章节标题再次可用于打印。

以上所有步骤解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.