Ver Mensaje Individual
  #3  
Antiguo 08-07-2006
marioestevez marioestevez is offline
Registrado
 
Registrado: Jul 2006
Posts: 9
Reputación: 0
marioestevez Va por buen camino
En una sencilla aplicación que estuve utilizando empleé este código, que no se diferencia mucho del utilizado por Ustedes y con origen en distintas fuentes (estoy seguro no es de mi creación) y me dió excelente resultado. El objetivo era que me diferenciara con colores los campos de una grid en dependencia de que estuviesen comprometidos o no los horarios solicitados por pacientes. Usaba Access como base de datos en un módulo de datos.

A continuación el código:

procedure TfrmAppControl.DBGrid2DrawColumnCell(Sender:
TObject);
var
OutRect:=TRect;
begin
OutRect:=Rect;
DBGrid2.Columns.Items[0].Font.Style:=[fsBold];
DBGrid2.Columns.Items[0].Font.Color:=clBlue;
//
If (Column.Field = DMod.tbStatStatus)
AND (DMod.tbStatStatus.AsString = 'Booked') then
begin
DBGrid2.Canvas.Font.Color:=clWhite;
DBGrid2.Canvas.Font.Style:=[fsBold];
DBGrid2.Canvas.Brush.Color:=clRed;
end;
//
If (Column.Field = DMod.tbStatStatus)
AND (DMod.tbStatStatus.AsString = 'Available') then
begin
DBGrid2.Canvas.Font.Color:=clWhite;
DBGrid2.Canvas.Font.Style:=[fsBold];
DBGrid2.Canvas.Brush.Color:=$043b154;// tono de verde
end;
//
DBGrid2.DefaultDrawDataCell(OutRect,Column.Field,State);
end;

Espero pueda servir a alguien y gracias por recibirme al Club




Responder Con Cita