Ver Mensaje Individual
  #4  
Antiguo 13-12-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Por el color no se puede. Pero tomando en cuenta que el color se corresponde con determinado criterio, como te dije anteriormente, podes ordenar la consulta por el criterio. Esto hará que los registros (líneas) del mismo criterio (color) se agrupen.

Para ver si puedo explicarme con un ejemplo voy a tomar la tabla country de dbdemos.mdb de Delphi y considerar como criterio que el campo CONTINENT sea igual a 'South America'.

Inicialmente la consulta es:
Código SQL [-]
SELECT * 
FROM COUNTRY
Y muestra:


Luego cambiando por:
Código SQL [-]
SELECT * 
FROM COUNTRY 
ORDER BY CONTINENT
Queda agrupado por color (en realidad por el criterio):

Si deseas invertir el órden usa el modificador DESC.

Este es el código de pintado del ejemplo:
Código Delphi [-]
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if ADOQuery1.FieldByName('CONTINENT').AsString = 'South America' then
    DBGrid1.Canvas.Brush.Color:= clYellow
  else
    DBGrid1.Canvas.Brush.Color:= clMoneyGreen;
  DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita