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