Тема: БД
Показать сообщение отдельно
  #3  
Старый 07.09.2010, 13:20
jaxik jaxik вне форума
Прохожий
 
Регистрация: 06.09.2010
Сообщения: 11
Репутация: 10
По умолчанию

Получилось что я сделал для ТО-1, всё прекрасно выделяет и работает. Но а как можно сделать для ТО-2, ТО-3?

Где 1500 это километраж до 1-ого ТО.

Цитата:
procedure TForm1.DBGrid1DrawColumnCell(Sender : TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if dm.table1.fieldbyname('ТО-1').AsVariant=false then
WITH DBGrid1.Canvas DO
BEGIN
IF gdSelected IN State THEN
BEGIN
Font.Color:=clHighlightText;
Brush.Color:=clHighlight
END
ELSE
BEGIN
Font.Color:=clBlack;
if dm.table1.FieldByName('Пробег (км)').AsInteger>1500
THEN
Brush.Color:=clLime
else
Brush.Color:=DBGrid1.Color;
END;
WITH Rect.TopLeft DO
TextRect(Rect, X+2, Y+2, Column.Field.AsString);
END

end;

Я бы мог конечно откопировать этот алгоритм три раза, но это как то неправильно будет.
Ответить с цитированием