Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Cambiar el color de una celda de un DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=13112)

candido 06-08-2004 09:08:02

Cambiar el color de una celda de un DBGrid
 
La pregunta es sencilla aunque la respuesta no creo que lo sea,

Quisiera cambiar el color de una celda de un DBGrid, dependiendo de si el valor de esta es positivo o negativo.

Gracias!!!!

Neftali [Germán.Estévez] 06-08-2004 10:05:07

Cita:

Empezado por candido
Quisiera cambiar el color de una celda de un DBGrid, dependiendo de si el valor de esta es positivo o negativo.

Pues la respuesta es sencilla, seguro que si buscas en los foros ya se ha contestado antes (en la pantalla de búsqueda escribes "DBGrid Color" sin las comillas) y podrás obtener otras soluciones, de todas formas hace unos días contesté una pregunta muy similar y tengo el código a mano. Ahí va:

Es un ejemplo que pinta todas las celdas de la columna 1 cuyo importe sea impar (...sí, ya se que es una parida, pero es para poner un ejemplo...)

Código Delphi [-]
//-----------------------------------------------------------------procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect:TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  // La columna es la 1 y no está seleccionada?
  i f (Column.Index = 1) and (State = []) then begin
   // El valor de la celda es impar? 
    if (odd(DBGrid1.Columns[Datacol].Field.AsInteger)) then begin
      // Cambia el color de fondo de la celda a ROJO.
      DBGrid1.Canvas.Brush.Color := clRed;
      // Manda pintar la celda
      DBGrid1.DefaultDrawColumnCell(rect,DataCol,Column,State);
    end;
  end;
end;
//-----------------------------------------------------------------


candido 06-08-2004 10:22:28

gracias machote, me ha servido perfectamente.


La franja horaria es GMT +2. Ahora son las 16:05:45.

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