Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-02-2008
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Poder: 17
cmm07 Va por buen camino
Cool Colores a un DBGrid

Hola, de nuevo molestando, bueno esta es mi duda, es un poco tonta :

Lo que necesito hacer es que un DBGrid cambie el color en cada fila aqui les dejo una foto

http://img218.imageshack.us/img218/2502/dbgridyl1.png

esta foto es solo un montaje algo falso, eso mismo necesito hacer en delphi 7

los colores son:
Color1: $00FFFAF0.
Color2: $00FFEFCA.


Gracias por su atención

SALU2

QUE SIGA CRECIENDO:.........
Responder Con Cita
  #2  
Antiguo 10-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola cmm07,
¿Probaste haciendo una búsqueda en los foros? El tema es moneda corriente en los foros. Por ejemplo, aquí y aquí.

O también puedes optar por un componentes de terceros que realice esto por ti. Un sitio donde conseguirlos: torry.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 10-02-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Deberías buscar más en los foros tal y como comenta también nuestro amigo Delphius.

No obstante, te expongo directamente aquí el codigo que precisas para colorear el DBGrid tal y como expones :

Código Delphi [-]
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  If (not (gdSelected in State)) and (DataSet1.Recno mod 2 = 0) and (not DataSet1.IsEmpty) then
    DBGrid1.Canvas.Brush.Color := $00FFEFCA;
  DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

Utiliza el evento OnDrawColumnCell del DBGrid. Y por defecto le indicas como color al DBGrid en su propiedad Color el otro color que indicas :

Código Delphi [-]
DBGrid1.Color := $00FFFAF0;

DataSet1 es el DataSet asociado al DBGrid.

Saludos.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #4  
Antiguo 10-02-2008
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Poder: 17
cmm07 Va por buen camino
Muchas pero muchas gracias, me funciono de maravilla, no se como agradecerles...

Gracias.

SALU2
Responder Con Cita
  #5  
Antiguo 02-03-2012
Lisandro Lisandro is offline
Registrado
 
Registrado: abr 2006
Posts: 6
Poder: 0
Lisandro Va por buen camino
DBGrid colores línea y columna

Hola amigos:
Después de andar bastante, he logrado manejar el tema, y agradecido a todo lo que me enseñaron todos desde allí, a continuación listo como lo hago:
Código Delphi [-]
{ método llamado desde DBGrid DrawColumnCell }
procedure TFECuentaCasaConque.GrillaDrawColumnCell(Sender: TObject; const Rect: TRect;
                  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var Num: Integer;
     R: TRect;
     Conque, Haber: Integer;
begin
 if (DataCol = 2) or (DataCol = 5) then  
 with dmCajaHogar do { el datamodule con la tabla QCuentaCasa}
 begin
  if QCuentaCasa.FieldByName('HABER').AsInteger = 0 then
  begin
   Grilla.Canvas.Brush.Color:= $00F3E8FF; {Rosa}
   Grilla.Canvas.Font.Color:= clRed;
   Grilla.DefaultDrawColumnCell(Rect, DataCol, Column, State);
  end;
 endGrilla.Canvas.Brush.Color:= clLimMed1;
     4: 
 else
 if (DataCol in [3,6]) then  { la columna 3 (comienza en 0) tiene el campo "CONQUE" a colorear }
 with dmCajaHogar do
 begin
  Num:=TStringGrid(Grilla).Row;
  R:=TStringGrid(Grilla).CellRect(DataCol,Num);
  with Grilla do  { es el DBGid }
  begin
   Conque:= QCuentaCasa.FieldByName('CONQUE').AsInteger; 
   if not(gdFocused in State) then
    case Conque of
     1: Grilla.Canvas.Brush.Color:= clVerCla1;
     2: Grilla.Canvas.Brush.Color:= clCelMed1;
     3: { .... yo sigo hasta 11 }
   end
   else
   if gdFocused in State then
    case dmCajaHogar.QCajaHogarCON.AsInteger of
     1: Grilla.Columns[3].color:= clVerCla2;
     2: Grilla.Columns[3].color:= clCelMed2;
    end;
   Grilla.DefaultDrawColumnCell(Rect, DataCol, Column, State);
  end;
 end;
end;
Un abrazo y saludos a todos.

Lisandro

Última edición por ecfisa fecha: 03-03-2012 a las 00:24:22. Razón: Etiquetas [DELPHI] [/DELPHI]
Responder Con Cita
  #6  
Antiguo 03-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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 Lisandro.

Primeramente gracias por aportarnos tu código.

Lo que te voy a solicitar es, que cuando incluyas código en tus mensajes, utilices TAG's. Te pongo una imágen que explica su uso:



Saludos y gracias por tu colaboración.
__________________
Daniel Didriksen

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



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
colores en un dbgrid frf_84 Gráficos 2 07-12-2004 12:14:57
dbgrid con colores Giniromero Conexión con bases de datos 7 08-07-2004 16:26:29
dbGrid con filas en dos colores Iceman OOP 2 26-05-2004 16:05:59
dbgrid en colores sebas Conexión con bases de datos 2 09-07-2003 09:16:14
Colores en una DBGrid REDCOM Varios 2 26-05-2003 20:42:58


La franja horaria es GMT +2. Ahora son las 23:47:08.


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
Copyright 1996-2007 Club Delphi