В нижнем колонтитуле группы, как получить чередующийся цвет фона для записей в Crystal Reports

Это связано с этим вопросом, но я хочу чередующийся цвет фона в нижнем колонтитуле группы. Мой подробный раздел исключен для моего подотчета, и в конце группировка дает мне общий итог.

Итак, моя скрытая деталь имеет что-то вроде этого (за исключением того, что у меня есть около десятка типов плюс вместо двух):

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. До сих пор мне удалось создать переменную, которая вообще не изменится, не говоря уже о том, чтобы заставить что-либо работать на вкладке цвета.

Как можно сделать так, чтобы записи нижнего колонтитула группы имели чередующийся фоновый цвет?

2 ответа

Решение

Есть еще одна системная переменная - GroupNumber, Если у вас простая схема агрегирования, а не вложенные группы, то это число можно использовать точно так же, как вы использовали RecordNumber,

Создание примера промежуточного результата #shade #shade screenshot

Поместите эту промежуточную сумму в GroupFooter, которую вы хотите отобразить в своем отчете (у вас должна быть отдельная запись для подсчета), теперь она должна иметь значение от 1 до, сколько бы записей ни было в вашем GF, тогда это можно подавить. Затем создайте формулу с именемEvenOdd, и используйте эту формулу:

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

Бросьте эту формулу на свой GF и подавите.

Затем перейдите к своему эксперту по выбору, выберите свою подругу, затем Color вкладка выберите x-2 и используйте эту формулу:

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

Теперь каждая вторая линия будет отображаться вашей GF сначала серебряной, затем белой. Вы можете выбрать множество цветовых схем

Я сделал это, так как иногда вы можете захотеть скрыть детали отчета и показать только группу. Надеюсь это поможет

Я думаю, что вы сбрасываете переменную, чтобы она не менялась. Не сбрасывайте ее, следуя приведенному ниже процессу.

В нижнем колонтитуле группы создайте формулу @counter и напишите ниже код

Shared NumberVar counter;

counter:=counter+1 

Теперь в разделе эксперт группы нижний колонтитул перейдите на вкладку "Цвет" и напишите ниже код:

shared numbervar counter;

if counter mod 2=0
then crMaroon
else crBlue
Другие вопросы по тегам