防止抑制页脚在Crystal Report上显示空白空间

5
我正在维护一个使用ASP.NET 3.5在VS2008中编写的计费应用程序。发票是使用与VS2008一起提供的水晶报表制作的。
我的发票首页顶部和底部有许多图形,特别是前页的页脚图形与页面底部平齐。
现在客户要求在发票中添加页面页脚。我已经添加了一个简单的页面页脚,包括页码和分隔线,并设置了在第一页上禁止显示页脚。
问题是页面页脚将占据的空间仍然会在前页上显示为白色空间,破坏了发票的布局。我已经设置了“保留最小页面页脚”和“抑制空白段落”,但两者都没有效果。根据我的调查,这个版本的水晶报表似乎没有解决方案。
是否有其他人遇到这个问题并找到了不需要新版水晶报表的解决方案?
目前我已经在页面页眉中添加了页码,这样做还可以。我尝试了从另一个SO问题中发现的建议http://www.crystalkeen.com/articles/crystalreports/pagebreaksconditional.htm,但效果不佳。我的报告没有显示详情部分。它在页眉中显示前一页,细节页面是页脚中的子报告。
2个回答

0

抑制空白并不总是有效。在该部分的格式化属性中,单击条件抑制按钮(X+2),并使用类似以下内容的内容:

If OnFirstPage Then
   True
Else
   False

这告诉它在第一页上设置Suppress=True。

如果我误读了你的问题,请让我知道。不过这是可以修复的。


还有一个小提示...一些用户会对报告中的空白部分感到困惑。其实很容易知道自己正在查看哪个部分。只需在部分区域的空白左侧查看名称和/或缩写,就能知道正在查看的内容。这将始终告诉您正在查看什么。 - John Cruz
以上内容与抑制公式中的“pageNumber = 1”相同,这也是我的做法。问题在于,水晶报表为最大页脚保留了空白,而不管它是否被显示。经过我的研究,我的选择只有升级到更高版本的水晶报表,例如11版,但我没有准备好这样做。我还使用逻辑来检测第一页(因为我在一个报表中打印多个'第一页')。我遇到了同样的空白问题。最后,我放弃了,并告诉客户这是不可能的,他们接受了妥协,现在页码在页眉中。 - Rob Gray
你是否尝试过拆分页面页脚部分以查看是否会有所不同?此外,将详细子报表放置在页面页脚部分并不是正确的位置。如果您正在链接主报表中的任何类型的数据,则应至少对数据进行一次分组。如果您有至少一个分组,则子报表应位于分组页脚部分。 - John Cruz
如果您的数据不需要分组,而且只是操作一个数据集,页面页眉部分将与页面页脚部分完全相同。它们具有完全相同的“工作”,只是一个在页面顶部,另一个在底部。 - John Cruz
我尝试了CDTX提供的所有方法,但都没有成功。据我所知,这是Crystal中的一个已记录限制,并在后续版本中添加。 - Rob Gray

0

每个页面默认都有一些空间作为页脚。因此,尝试将页脚内容放在详细信息部分,并有条件地调用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接