Hola,
tendrás que poner en el DrawColumnCell del grid las condiciones necesarias para pintar las líneas, pero ojo porque, como te señala ecfisa, las condiciones que comentas se solapan unas a otras. en todo caso te pongo un ejemplo.
Código Delphi
[-]
if QueryFrutas.FieldByName('Vencimiento').AsDateTime<=date then
begin
if DaysBetween(QueryFrutas.FieldByName('Vencimiento').AsDateTime,date)<4 then
begin
DBGridFrutas.Canvas.Brush.Color:=clred;
end
else
begin
if daysbetween(QueryFrutas.FieldByName('Vencimiento').AsDateTime,date)=4 then
begin
DbGridFrutas.Canvas.Brush.Color:=ClOrange;
end
else
begin
DbGridFrutas.Canvas.Brush.color:=ClGreen;
end;
end;
end;
Saludos.