Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DBGrid [D7, XP]


Ref ©   (2006-08-22 02:17:00) 

Доброго времени суток. У меня такая проблема в DBGrid'e отображаются данные из ADOQuery. Как мне сделать так чтобы одни строки по условию отбражались одним цветом, а если оно не выполняется то другим. Проблем с условием нет а вот как присваивать цвет шрифта строкам не знаю. Можно изменять не шрифт а заливку ячеек. Заранее спасибо.


Chort   (2006-08-22 20:37:00) [1]

Я рисовал так
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
 DataCol: Integer; Column: TColumn; State: TGridDrawState);

Begin
if DataModule1.BookTable.FieldByName('Installed').AsVariant=true then begin
   TDBGrid(Sender).Canvas.Brush.Color:=clInfoBk;
   TDBGrid(Sender).Canvas.Font.Color:=clBlack

 end;
 IF  gdSelected   IN State
 Then Begin
   TDBGrid(Sender).Canvas.Brush.Color:= clHighLight;
   TDBGrid(Sender).Canvas.Font.Color := clHighLightText;
 End;

TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;

Короче , если логическое поле было равно True, то строка закрашивалась, в противном случае сам понимаешь...
BookTable - это у тебя ADOTable1(или как по другому)
Installed - поле(логиское) - у тебя свое.
Единственное, так это если на форме несколько DBGrid -ов, то тогда нужно писать не TDBGrid(Sender)..., а DBGrid1 или DBGrid2 (если я не ошибаюсь:).


Ketmar   (2006-08-22 02:20:00) [2]

пардон, OnDrawColumnCell().


Ketmar   (2006-08-22 02:19:00) [3]

OnDrawCell(), f1.


Наверх

Титульная страница Поиск, карта сайта Написать письмо