Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.10.20;
Скачать: [xml.tar.bz2];

Вниз

Опять про печать   Найти похожие ветки 

 
Weare   (2003-09-26 13:31) [0]

Задача: нужно распечатать из грида фамилии сотрудников и их зарплаты, причем если зарпалата <150, то эти цыфры должны быть красного цвета, а если >500, то синего, остальные черного.
Понятно, что в самом гриде это можно сделать с помощью OnDrawColumnCell, а как этот грид затем вывести на печать с теми же цветами ячеек.


 
Vlad   (2003-09-26 13:33) [1]

Скриншот :)


 
Weare   (2003-09-26 13:33) [2]

Извините за ошибку в слове ЦЫФРЫ


 
Weare   (2003-09-26 13:35) [3]


> Vlad © (26.09.03 13:33) [1]

Спасибо, а если серьезно?


 
Weare   (2003-09-26 15:38) [4]

Ну что мастера, неужели никто с подобной проблемой не встречался?


 
Rem   (2003-09-26 18:46) [5]

Хм... QuickRep... (см. палитру Quick Report в Delphi)


 
Weare   (2003-09-29 18:46) [6]


> Rem © (26.09.03 18:46) [5]
> Хм... QuickRep... (см. палитру Quick Report в Delphi)

Тоже самое, что и с TPrintDbGridEh, весь текст в гриде черно-белый, хотя TPrintDbGridEh отрисовывает цвет всей колонки, если его изначально задать в самом гриде, а не в OnDrawColumnCell.


 
Brahman   (2003-09-29 18:51) [7]

Weare © (26.09.03 13:31)
Вообще-то для это существуют различные Report-ы.
Но если очень хочется, то можно.

Через TPrinter, присваивая свойствам печати свойства ячеек DBGrid


 
Чайник   (2003-09-29 19:03) [8]

Но это же просто переменная, а не компонента со своим интерфейсом и средствами предпросмотра. И вообще, если ячеек очень много, то как присваивать.


 
MsGuns   (2003-09-29 20:00) [9]

Для делального бэнда пишешь что-то вроде этого:

procedure TfrmINVRep9.QRBand3BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
var
cl: TColor;
i: integer;
begin
if Trim(frmINVRep9.quRep9.FieldByName("MNAME").AsString)>"" then
cl := cl3DLight
else
cl := clWindow;
Sender.Color := cl;
for i := 0 to Sender.ControlCount-1 do
begin
if Sender.Controls[i].ClassType=TQRDBText then
TQRDBText(Sender.Controls[i]).Color := cl;
if Sender.Controls[i].ClassType=TQRLabel then
TQRLabel(Sender.Controls[i]).Color := cl;
if Sender.Controls[i].ClassType=TQRShape then
TQRShape(Sender.Controls[i]).Brush.Color := cl;
end;
end;


 
MsGuns   (2003-09-29 20:04) [10]

Только я там фон строки крашу, поэтому все контролы бэнда дергаю. Тебе проще. Трогай только те TQRDBText`ы, которые тебе надо.
Ну, и надо не Color, а Font.Color, ессно


 
Weare   (2003-09-30 10:31) [11]


> MsGuns © (29.09.03 20:00) [9]
> Для детального бэнда пишешь что-то вроде этого:...

Огромное спасибо, сейчас попробую. Появилась куча вопросов, но если я их не раъясню для себя, то ты уж не обижайся - буду допытываться.


 
Чайник   (2003-09-30 11:21) [12]

Все ОК.
MsGuns ОГРОМНОЕ СПАСИБО !!!



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

Форум: "Базы";
Текущий архив: 2003.10.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
1-65414
Kiril
2003-10-07 21:34
2003.10.20
Как при нажатии на кнопку запустить другой exe?


1-65490
Woolen
2003-10-08 14:51
2003.10.20
Не могу понять происхождение глюка


1-65458
MadDogNT
2003-10-06 19:12
2003.10.20
delphi и 1 с


1-65538
TUser
2003-10-08 09:36
2003.10.20
header


3-65321
uu
2003-09-30 11:08
2003.10.20
SelectedRows





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский