Получилось что я сделал для ТО-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;
|
Я бы мог конечно откопировать этот алгоритм три раза, но это как то неправильно будет.