Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   resaltar filas en dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=64283)

dtomeysoto 25-03-2009 15:55:05

resaltar filas en dbgrid
 
Hola amigos, necesito una vez más de vuestra cooperación.
Quiero en un dbgrid resaltar en un color (rojo) algunas filas que van a cumplir una condición específica y las demás mostrarlas "normal" (es decir el texto negro y el fondo blanco)
Podría alguien ayudarme con esto?

Gracias.

Caro 25-03-2009 16:05:07

Hola, debes utilizar el evento OnDrawColumnCell.

Código Delphi [-]
procedure TForm1.DBGridDrawColumnCell(
  Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
 if Query.FieldByName('campo').AsString='algo' then
  begin
   DBGrid.Canvas.Brush.Color := clRed;
   DBGrid.Canvas.Font.Color := clWhite;
 
   DBGrid.DefaultDrawColumnCell(rect,DataCol,Column,State);
  end;

puedes buscar también el foro hay mucho sobre tu pregunta.

Saluditos

dtomeysoto 25-03-2009 17:13:05

hola, gracias por responder. me fue de gan utilidad tu ayuda.

tengo que agregar que a la condición le incluí algo como:

Código:

if (not (gdSelected in State)) and (Query.FieldByName('campo').AsString='algo' then)
para que la fila seleccionada se muestre diferente a las demás. muchas gracias una vez más.


La franja horaria es GMT +2. Ahora son las 10:24:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi