Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 14-10-2006
Avatar de kovaski
kovaski kovaski is offline
Miembro
 
Registrado: oct 2006
Ubicación: Valencia
Posts: 39
Poder: 0
kovaski Va por buen camino
Thumbs up ¡solución!

Al fin he dado con la solución al problema .

Aqui la pongo para quien le pueda servir. Gracias fly por tu tiempo e interes.

En primer lugar hay que poner la propiedad "DefDrawBefore" del ib_Grid en "True"(por defecto).

En el "uses" hay que poner "IB_Components".

Tenemos que atacar el evento "OnGetCellProps" del ib_Grid y escribimos lo siguiente:

Código Delphi [-]
procedure TFichaOfertas.IB_Grid1GetCellProps(Sender: TObject; ACol,
  ARow: Integer; AState: TGridDrawState; var AColor: TColor; AFont: TFont);
var
  Datos: string;
  Columnas: TIB_Column;
begin
//Este código es para pintar solo la celda del campo "ESTADO" que tiene la palabra "Activo"
if Tablas.dsOfertas.Active then
  begin
    with Tablas.dsOfertas.Dataset do
    begin
      BufferRowNum:= ib_Grid1.DataRow[ARow];
      if BufferRowNum > 0 then
       begin
        Columnas:= ib_Grid1.GridFields[ib_Grid1.DataCol[ACol]];
         if Assigned(Columnas) and (Columnas.FieldName = 'ESTADO') then
           begin
             Datos:= BufferFieldByName('ESTADO').AsString;
             if Datos = 'Activo' then
              if Acolor = ib_Grid1.Color then
                AColor:= clLime;
           end;
       end;
    end;
  end;
//Este código es para pintar la fila completa que tiene el campo "ESTADO" la palabra "Activo"
if Tablas.dsOfertas.Active then
  begin
    with Tablas.dsOfertas.Dataset do
    begin
      BufferRowNum:= ib_Grid1.DataRow[ARow];
      if BufferRowNum > 0 then
       begin
       Datos:= BufferFieldByName('ESTADO').AsString;
       if Datos = 'Activo' then
         if Acolor = ib_Grid1.Color then
          AColor:= clRed;
       end;
    end;
  end;

end;

Gracias por vuestra ayuda. Saludos .
Responder Con Cita
 


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
Cambiar color de una Fila en un String Grid neleg Conexión con bases de datos 4 25-11-2005 10:14:03
cambiar color de fila y columna de un StringGrid1 gulder Varios 2 16-11-2005 17:05:42
Cambiar de color una fila de un Dbgrid segun una condicion... hook Varios 5 12-07-2005 23:40:36
cambiar color en fila seleccionada en un dbgrid gmontes OOP 2 05-05-2005 22:33:24
cambiar color a la fila seleccionada de un grid!! triniti OOP 2 03-08-2004 13:00:42


La franja horaria es GMT +2. Ahora son las 10:36:14.


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