Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-02-2008
Avatar de RoyTan
RoyTan RoyTan is offline
Miembro
 
Registrado: oct 2003
Ubicación: Mijas - Málaga
Posts: 121
Poder: 23
RoyTan Va por buen camino
Hola gluglu.

Gracias por soportar mi ignorancia y mi pesadez.

Si el código lo he puesto en el evento ondrawcolumncell.

El código que me has pasado pinta la linea completa, pero eso no es lo que necesito.

Yo necesito que pinte una celda nada más, no la linea completa.
Ejemplo:

Mi DBGrid tiene 5 columnas, Fecha,Concepto,Ingresos,Gastos y Saldo.

Tan solo necesito que si en la columna saldo hubiese algun valor negativo pues sencillamente que pinte esa celda de rojo, solo donde está el valor negativo.

Bueno y el código con el que lo estoy intentando es el siguiente.

procedure TF_Caja.DBGCajaDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin

if Column.Field.Dataset.FieldbyName('SALDO').AsFloat < 0 then
if (gdFocused in State) then
Begin
DBGCaja.canvas.brush.color := clBlue;
end
else
Begin
DBGCaja.Columns[5].Font.Color := clRed; // este para el Texto
DBGCaja.DefaultDrawColumnCell(rect,DataCol,Column,State);
end;

End;

Espero y deseo no molestar mucho.

Gracias.
Responder Con Cita
  #2  
Antiguo 23-02-2008
jandok238 jandok238 is offline
No confirmado
 
Registrado: ago 2007
Ubicación: ¿ǝɯ dlǝɥ noʎ uɐɔ 'ʍouʞ ʇ,uop ı
Posts: 415
Poder: 0
jandok238 Va por buen camino
no soy un experto...

solo tome el codigo de GLUGLU y lo adapte al tuyo...

Código Delphi [-]
 
 if (Column.Index = 2) and (Column.Field.Dataset.FieldbyName('PRECIO').AsFloat < 0) then  //cambie esta linea (bueno la adapte)
     if (gdFocused in State) then    
     Begin      
         DBGrid1.canvas.brush.color := clBlue;    
     end    
     else    
     Begin      
         DBGrid1.Canvas.Font.Color := clRed; //Cambie esta linea
         DBGrid1.DefaultDrawColumnCell(rect,DataCol,Column,State);
     end;



espero te funcione..... por que a mi si

Gracias por el codigo GLUGLU....

salu2!!!!!!!!
Responder Con Cita
  #3  
Antiguo 23-02-2008
Avatar de RoyTan
RoyTan RoyTan is offline
Miembro
 
Registrado: oct 2003
Ubicación: Mijas - Málaga
Posts: 121
Poder: 23
RoyTan Va por buen camino
Vendito sea Dios todopoderoso, salió.

Gracias Jandock238 y gracias gluglu.

Creo y casi seguro, que soy el hombre mas torpe del mundo.
Lo mio no tiene remedio vamos.

Gracias a todos.
Responder Con Cita
  #4  
Antiguo 23-02-2008
Avatar de RoyTan
RoyTan RoyTan is offline
Miembro
 
Registrado: oct 2003
Ubicación: Mijas - Málaga
Posts: 121
Poder: 23
RoyTan Va por buen camino
Hasta para escribir soy torpe, bendito se escribe con B no con V.

Lo siento.
Responder Con Cita
  #5  
Antiguo 23-02-2008
jandok238 jandok238 is offline
No confirmado
 
Registrado: ago 2007
Ubicación: ¿ǝɯ dlǝɥ noʎ uɐɔ 'ʍouʞ ʇ,uop ı
Posts: 415
Poder: 0
jandok238 Va por buen camino
Cita:
Empezado por RoyTan Ver Mensaje
Hasta para escribir soy torpe, bendito se escribe con B no con V.

Lo siento.
y hasta para copiar... (es broma) ....
mi Nick no lleva 'C' es Jandok238 sin 'C' ...

salu2!!!!!!!!!
Responder Con Cita
  #6  
Antiguo 24-02-2008
Avatar de RoyTan
RoyTan RoyTan is offline
Miembro
 
Registrado: oct 2003
Ubicación: Mijas - Málaga
Posts: 121
Poder: 23
RoyTan Va por buen camino
Po zi. Je Je Je

Gracias Jandok238

Saludos.
Responder Con Cita
  #7  
Antiguo 13-02-2009
Avatar de dmassive
dmassive dmassive is offline
Miembro
 
Registrado: mar 2004
Ubicación: Paraná - Argentina
Posts: 60
Poder: 23
dmassive Va por buen camino
Question

Tengo una duda:

¿Para que sirve verificar si tiene foco?
Código Delphi [-]
 if (Column.Index = 2) and (Column.Field.Dataset.FieldbyName('PRECIO').AsFloat < 0) then  
     if (gdFocused in State) then    
     Begin      
         DBGrid1.canvas.brush.color := clBlue;    
     end    
     else    
     Begin      
         DBGrid1.Canvas.Font.Color := clRed;
         DBGrid1.DefaultDrawColumnCell(rect,DataCol,Column,State);
     end;

pues si lo hago de esta manera funciona igual:

Código Delphi [-]
 if (Column.Index = 2) and (Column.Field.Dataset.FieldbyName('PRECIO').AsFloat < 0) then
     Begin      
         DBGrid1.Canvas.Font.Color := clRed;
         DBGrid1.DefaultDrawColumnCell(rect,DataCol,Column,State);
     end;
__________________
"It's nice to be important, but it's more important to be nice"
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
forma de cambiar el color de una celda anubis Varios 8 31-07-2007 19:08:02
DBGrid Color Celda hcalero Varios 2 13-04-2007 13:37:42
Cambiar el color a una celda de un DBGrid NuncaMas Varios 1 14-02-2005 16:40:30
Cambiar Color una Celda del DbGrid Rabata Varios 5 02-09-2004 09:31:01
Cambiar el color de una celda de un DBGrid candido OOP 2 06-08-2004 10:22:28


La franja horaria es GMT +2. Ahora son las 23:57:17.


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