Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-02-2004
Esau Esau is offline
Miembro
 
Registrado: may 2003
Ubicación: Canto Rey
Posts: 140
Poder: 21
Esau Va por buen camino
Cambiar color a DBGrid

Hola Amigos , se me ocurrio una idea , y me gustaria implementarlo , tengo un DBGrid y me gustaria que de acuerdo a los datos que se obtengan se cambie la fuente, el color y el color de fondo de los datos que se van a mostrar en el DBGrid, el problema es que me gustaria saber si alguno ya lo hizo y si tiene una idea de como hacer o ejemplos , esto ayudara bastante a los ususarios con los que trabajo , muchas gracias de antemano


Saludos desde Lima Peru
Responder Con Cita
  #2  
Antiguo 23-02-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Aquí tienes un ejemplo:

Código:
procedure TfrConClientes.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
   if DmVil.CliBaja.Value = True then
   begin
   DBGrid1.Canvas.Brush.Color :=clInfobk;
   Dbgrid1.Canvas.Font.Style:=[fsBold];
   DBGrid1.Canvas.Font.Color:=ClBlack;
   DBGrid1.DefaultDrawColumnCell(Rect,Datacol,Column,State);
   end;
end;
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 24-02-2004
Esau Esau is offline
Miembro
 
Registrado: may 2003
Ubicación: Canto Rey
Posts: 140
Poder: 21
Esau Va por buen camino
Todo bien Pero...

Hasta ahora todo va bien , segun los datos puedo cambiar los colores de las filas en el DBGrid, pero cuando coloco el cursor en una de las filas que he cambiado de color , el cursor se pierde o simplemente no lo veo , por que esta del mismo color que la fila , como hago para poder invertir los colores de la celda que tiene el cursor en el Grid,


otra vez Gracias
Responder Con Cita
  #4  
Antiguo 25-02-2004
murci murci is offline
Miembro
 
Registrado: jul 2003
Ubicación: Murcia
Posts: 43
Poder: 0
murci Va por buen camino
En el codigo del envento ONGetCellParams, seria algo asi.

Código:
procedure TForm1.DBGrid1GetCellParams(Sender: TObject; Field: TField;
  AFont: TFont; var Background: TColor; Highlight: Boolean);
begin
  if Highlight then begin
     AFont.Color := clYellow;
     Background := clNavy;
  end;
end;
Espero que te sirva de ayuda.
__________________
J. Adolfo Núñez
Responder Con Cita
  #5  
Antiguo 27-01-2011
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cita:
Empezado por murci Ver Mensaje
En el codigo del envento ONGetCellParams, seria algo asi.

Código:
procedure TForm1.DBGrid1GetCellParams(Sender: TObject; Field: TField;
  AFont: TFont; var Background: TColor; Highlight: Boolean);
begin
  if Highlight then begin
     AFont.Color := clYellow;
     Background := clNavy;
  end;
end;
Espero que te sirva de ayuda.

Hola... quiero aplicar esto, por que cuando selecciono una fila, no se distingue el contenido por que la letra esta en blanco y como adicional a esto le tengo convinacion de colores con el siguiente codigo

Código Delphi [-]
procedure TIngreso_Reg.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  if Odd(DBGrid1.DataSource.DataSet.RecNo) then
     DBGrid1.Canvas.Brush.Color := $00D6F8D9
  else
     DBGrid1.Canvas.Brush.Color := $00D9FDF8;
  DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;

pero no encuentro la propiedad ONGetCellParams del DBGrid....

Me interesa cambiar el color de la fuente... alguien sabe como realizarlo...

Salu2
__________________
BlueSteel
Responder Con Cita
  #6  
Antiguo 28-01-2011
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Esta propiedad esta en el JvDBGrid

Josep
Responder Con Cita
  #7  
Antiguo 28-01-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por jafera Ver Mensaje
Esta propiedad esta en el JvDBGrid
Josep
Y de las RX.
Responder Con Cita
  #8  
Antiguo 28-01-2011
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Cita:
procedure TIngreso_Reg.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if Odd(DBGrid1.DataSource.DataSet.RecNo) then
DBGrid1.Canvas.Brush.Color := $00D6F8D9
else
DBGrid1.Canvas.Brush.Color := $00D9FDF8;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
Código Delphi [-]
procedure TIngreso_Reg.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  if Odd(DBGrid1.DataSource.DataSet.RecNo) then
     if (gdFocused in State) then
       DBGrid1.Canvas.Brush.Color := $OtroColor
     else
       DBGrid1.Canvas.Brush.Color := $00D6F8D9
  else
     if (gdFocused in State) then
       DBGrid1.Canvas.Brush.Color := $OtroColor
     else
       DBGrid1.Canvas.Brush.Color := $00D9FDF8;
  DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
Espero que te sirva.

Un saludo.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 16:08:07.


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