Вниз
Скачать: CL | DM;

Скрытие повторяющихся значений в Quick Report   Найти похожие ветки 

 
Дмитрий_Б ©   (2006-06-12 15:42) [0]

Здравствуйте. Есть отчет, упорядочен по первому столбцу, причем значения в нем повторяются. Чтобы исключить повторения значений в первом столбце, делаю так:

var OldValue : string;

procedure TfReport.DetailBand2AfterPrint(Sender: TQRCustomBand;
 BandPrinted: Boolean);
begin
  OldValue := DataSet.FieldByName("QAZ").AsString;
end;

procedure TfReport.QRDBText14Print(sender: TObject;
 var Value: String);
begin
  if Value = OldValue then
     QRDBText14.Font.Color := clWhite
  else
     QRDBText14.Font.Color := clBlack;
end;

procedure TfReport.FormCreate(Sender: TObject);
begin
  OldValue := "";
end;

В предварительном просмотре все выглядит так как должно быть, но:
Если групп больше одной то все ОК.
Если в первом столбце только одна группа значений, то в просмотре она есть, а при печати не выводится.

Если у кого то есть решение другим способом, поделитесь пож-та.


 
Johnmen ©   (2006-06-12 16:10) [1]

Достаточно одного обработчика BeforePrint у детального бенда.
В нём на основе анализа OldValue и DataSet.FieldByName("QAZ").AsString принимаем решение QRDBText14.Enable (или используем Visible).
И ещё важный момент - OldValue должна инициализироваться каждый раз перед генерацией отчёта, напр. в BeforePrint отчёта.


 
Дмитрий_Б ©   (2006-06-12 16:14) [2]

ОК, спасибо, сейчас попробую.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
2-1154094488
Батя
2006-07-28 17:48
2006.08.20
label и form


4-1146398027
oto
2006-04-30 15:53
2006.08.20
измененя размери окна


4-1146195109
Progh
2006-04-28 07:31
2006.08.20
Добавление и удаление сетевого ресурса


6-1144050156
Kryakozyablik
2006-04-03 11:42
2006.08.20
Авторизация с использованием Indy.


15-1153773781
Axis_of_Evil
2006-07-25 00:43
2006.08.20
ПО для КПК




   Наверх