![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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.