Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c