在组页脚中,如何为Crystal Reports中的记录获取交替的背景颜色

时间:2016-03-17 23:46:17

标签: crystal-reports crystal-reports-2013

这与此question有关,但我想在组页脚中交替使用背景颜色。我的详细信息部分在我的子报表中被禁止,并且分组在最后给了我一个总计。

所以,我压抑的细节有这样的东西(除了我有十几种类型而不是两种):

TypeA  100
TypeA   50
TypeB   50
TypeB   30
TypeB   20
Typec  150

我的小组页脚有漂亮的总数

TypeA  150
TypeB  100
TypeC  150

我希望在组页脚中打开和关闭颜色。如果我在细节中,我会在该部分的颜色中使用公式:

IF RecordNumber MOD 2 = 1 THEN
   crNoColor
ELSE
   Color (234,234,234);

但是如果我在组页脚中这样做,RecordNumber可能连续几次,然后是奇数,所以我会得到几行白色,然后是灰色,然后是几个白色。

我一直试图在第一个记录上创建一个设置为1的变量,并在每次更改时逐个增加一个变量。然后我可以像RecordNumber一样在颜色部分处理它。到目前为止,我已经成功制作了一个根本不会发生变化的变量,更不用说在颜色标签中有任何工作了。

使群组页脚记录具有交替背景颜色的好方法是什么?

3 个答案:

答案 0 :(得分:1)

还有另一个系统变量 - GroupNumber。如果你有简单的聚合方案,而不是嵌套组,那么这个数字可以像你使用RecordNumber一样使用。

答案 1 :(得分:0)

我认为你正在重置变量,所以它没有改变。请不要按照以下过程重置它。

在组页脚中创建公式@counter并在下面写下代码

Shared NumberVar counter;

counter:=counter+1 

现在在组页脚的部分专家中,转到颜色选项卡并写下代码:

shared numbervar counter;

if counter mod 2=0
then crMaroon
else crBlue

答案 2 :(得分:0)

创建一个运行总示例#shade #shade screenshot

将此运行总计放入您希望在报告中显示的GroupFooter中(您应该有一个不同的记录要计数),现在它应该有1到1的记录,但是您的GF中有很多记录,那么可以将其取消。 接下来,创建一个名为EvenOdd的公式,并使用以下公式:

If remainder({#shade},2) = 0 then "Even" else "odd"

将该公式拖放到GF上并进行抑制。

接下来转到您的选择专家,选择您的GF,然后在Color标签中选择x-2,然后使用以下公式:

If {@EvenOdd}= "Even" then crWhite else crSilver

现在这将每隔一行显示GF,首先显示银色,然后显示白色。 您可以选择许多配色方案

我这样做是因为有时您可能希望隐藏报告的详细信息,而只显示一个组。希望对您有帮助