Ver Mensaje Individual
  #4  
Antiguo 26-06-2012
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Reputación: 19
Chris Va por buen camino
En el evento OnDrawColumnCell, agrega el siguiente código:
Código Delphi [-]
var
    BkColor: TColor;
    days_to_void: Integer; // Días para vencimiento
begin
    BkColor := TDBGrid(Sender).Canvas.Brush.Color;
    DBetween := DaysBetween(Query.FieldByName('vencimiento').Value, Now());
    
    case days_to_void of
        0..3: BkColor := clRed;
           4: BkColor := clOrange;
        5..8: BkColor := clGreen;
        else
            BkColor := iif(days_to_void < 0, clRed, BkColor);
    end;
    
    TDBGrid(Sender).Canvas.Brush.Color := BkColor;
end;

Para utilizar el código anterior, necesitas agregar a tus USES la unidad DateUtils. Además, ten en cuenta que utilizo una función llamada iif. Realmente esta función no existe. Su declaración sería:
Código Delphi [-]
function iif(TestValue: Boolean, ATrue: Variant; AFalse: Variant): Variant; inline;
begin
    if TestValue then
        result := ATrue
    else
        result := AFalse;
end;

Saludos!
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web

Última edición por Chris fecha: 26-06-2012 a las 21:38:49.
Responder Con Cita