Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-08-2003
Avatar de superhopi
superhopi superhopi is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 128
Poder: 21
superhopi Va por buen camino
Colorear filas de un grid en concreto

Hola chicos, queria ver si me podias echar una mano...
Tengo en un Dbgrid unos datos de unos clientes y me gustaria, para que el usuario pudiera diferenciar mejor los clientes que tienen una opcion a si/no se pudiera pintar la fila de Si a un color y la de No a otro...
Se puede tal cosa???
Gracias.
__________________
Si me ves durmiendo no me despiertes, podría estar soñando que soy libre.
Responder Con Cita
  #2  
Antiguo 30-08-2003
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Si se puede es algo asi:
En el evento DrawColumnCell de la DbGrid adecua lo siguiente:

Código:
if (CondicionCliente= 'SI') then
begin
      DBGfechaserv.Canvas.Brush.Color:=clYellow;
      DBGfechaserv.Canvas.FillRect(Rect);
      DBGfechaserv.Canvas.Font.Color:=clWindowText;
end
else
begin
     if (CondicionCliente ='No') then
     begin
         DBGfechaserv.Canvas.Brush.Color:= clRed;
         DBGfechaserv.Canvas.FillRect(Rect);
         DBGfechaserv.Canvas.Font.Color:=clWindowText;
     end
end;
Si quieres mas informacion debes ir a:
www.clubdelphi.com/~cadetill
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 01-09-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Otra opción puede ser utilizar la RxDBGrid, y trabajar con los eventos OnGetCellParams:

Código:
if (Query.FieldByName('CONDICION').AsString = 'SI') and (not Highlight) then
  Background := clRed
else
  Background := clBlue;
Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 04-09-2003
Avatar de seb@
seb@ seb@ is offline
Miembro
 
Registrado: ago 2003
Posts: 57
Poder: 21
seb@ Va por buen camino
Me anda bien la coloracion, el tema es que no veo el contenido que tiene, es como si la coloración haya borrado el contenido de la grilla....me pueden ayudar???? Muchas Gracias
__________________
Sebastian Ibarrola
--------------------------
Responder Con Cita
  #5  
Antiguo 04-09-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
¿No será que el color de la fuente sea el mismo que el del fondo?... por lo que sería imposible distinguir el texto.
¿Por cuál de las soluciones has optado?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 09-09-2003
Avatar de champy
champy champy is offline
Miembro
 
Registrado: sep 2003
Ubicación: Alicante, España
Posts: 75
Poder: 21
champy Va por buen camino
Ciertamente cuando haces el Fillrect, rellenas d color el Canvas del DbGrid y el texto queda tapado... la mejor solución es dibujar el texto encima del canvas despues de rellenarlo... algo así


DBGRID.Canvas.Brush.Color := ClRed;

dbgrid.Canvas.FillRect(REct);

DbGrid.Canvas.TextOut(Rect.left +1, Rect.top +1, DbGrid.Fields[DataCol].AsString )

TextOut es un procedimiento que dibuja el texto que se le pasa en un canvas,

Datacol es una constante que se recive en el OnDrawColumCell que nos sirve de indice para saber que texto se tiene que extraer del grid para dibujarlo...

Espero que e sirva la ayuda
Responder Con Cita
  #7  
Antiguo 10-09-2003
Avatar de seb@
seb@ seb@ is offline
Miembro
 
Registrado: ago 2003
Posts: 57
Poder: 21
seb@ Va por buen camino
Ya pude solucionar mi problema con un dbgrid ahora estoy trabajando con tstringgrid y parece que no funciona de la misma manera que el dbgrid, alguien sabe como colorear un tstringgrid...?????????? Desde ya muchas gracias
__________________
Sebastian Ibarrola
--------------------------
Responder Con Cita
  #8  
Antiguo 10-09-2003
Avatar de JavierB
JavierB JavierB is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 99
Poder: 21
JavierB Va por buen camino
Hola, seb@.

Para un TStringGrid utiliza el evento onDrawCell con un código parecido a este:
Código:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  Txt: String;
begin
  if (ACol=2) and (ARow=2) then
  begin
    Txt:=StringGrid1.Cells[ACol,ARow];
    with StringGrid1.Canvas do
    begin
      Brush.Color:=clGreen;
      TextRect(Rect,Rect.Left+2,Rect.Top+2,Txt);
    end;
  end;
end;
Espero que te sirva. Saludos,
__________________
Lo importante no es saber, sino tener el e-mail del que sabe.
Responder Con Cita
  #9  
Antiguo 06-08-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Solo quiero agradecer el comentario de Maese Federico, ya que dos años después de haberlo hecho, ahora me ha ayudado a mi con las JVCL (TJvDBGrid) a resolver el mismo dilema.
__________________

Responder Con Cita
  #10  
Antiguo 12-08-2005
Avatar de superhopi
superhopi superhopi is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 128
Poder: 21
superhopi Va por buen camino
Lightbulb Vaya

Vaya vaya, despues de dos años...
Uf, cuanto tiempo ha pasado de eso la verdad, yo me acuerdo que estaba haciendo las practicas ...
Desgraciadamente no encontre trabajo de lo que me gustaba, y ahora apenas llego ni a programar... solo a modo "hobbie"

Bueno, por que cuento mi vida si es triste y aburrida?
Jajaja, me ha resultado curioso recibir un correo como que alguien habia escrito algo en el foro despues de tanto tiempo.

Venga, un saludo.

Cristian desde Valencia.
__________________
Si me ves durmiendo no me despiertes, podría estar soñando que soy libre.
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


La franja horaria es GMT +2. Ahora son las 01:47:09.


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