Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.10;
Скачать: 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 вся ветка

Текущий архив: 2006.09.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
15-1155630477
QuickFinder
2006-08-15 12:27
2006.09.10
iPod


2-1156172322
Sele
2006-08-21 18:58
2006.09.10
перемещение


2-1155727100
Хочу знать
2006-08-16 15:18
2006.09.10
and, or


2-1156340680
Рядовой воин дзена
2006-08-23 17:44
2006.09.10
AppInit_Dlls


2-1155909147
apic
2006-08-18 17:52
2006.09.10
Пиксели и сантиметры