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

DBGrid   Найти похожие ветки 

← →
Ref   (2006-08-22 02:17) [0]

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


← →
Ketmar ©   (2006-08-22 02:19) [1]

OnDrawCell(), f1.


← →
Ketmar ©   (2006-08-22 02:20) [2]

пардон, OnDrawColumnCell().


← →
Chort ©   (2006-08-22 20:37) [3]

Я рисовал так
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 (если я не ошибаюсь:).



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

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



Память: 0.45 MB
Время: 0.031 c
11-1132132273
cpp
2005-11-16 12:11
2006.09.10
KOL for C++


15-1155104429
McSimm
2006-08-09 10:20
2006.09.10
Turbo News


15-1155477602
AlexanderMS
2006-08-13 18:00
2006.09.10
Вопрос по *.BAT файлам.


1-1153935791
Calibr
2006-07-26 21:43
2006.09.10
Прозрачность


15-1155186777
Bless
2006-08-10 09:12
2006.09.10
Даешь Бали! (практически не оффтоп)




   Наверх