Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 21-01-2006
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 21
jmariano Va por buen camino
Mas que usar el evento OnPaintPanel que sólo se ejecuta cuando el
DBCtrlGrid necesita ser "repintado", probaría a utilizar el evento del DataSource: OnDataChange (que se ejecuta cada vez que cambian los datos, ya sea por que se produjo un desplazamiento, etc.), de esta manera te asegurarías siempre de que los paneles se mostrarán en el color correcto.

Por ejemplo, si tienes el componente DataSource en el mismo formulario:
Código Delphi [-]
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
  if (DataSource1.DataSet.FieldByName('estado').AsString) = 'Libre' then
    Panel1.Color :=clGreen
  else Panel1.Color :=clRed;
end;

(En caso de que lo tengas en un módulo de datos podrías crearte en el módulo una propiedad pública de tipo "evento", TNotifyEvent, que se ejecutara cada vez que cambiaran los datos, y capturar, luego, esta propiedad en el formulario)


Otra solución, tal vez más simple, sería probar a invocar al método Repaint del DBCtrlGrid cada vez que el panel recibe el foco (evento OnEnter) y ver si funciona. (Repaint obliga al DBCtrlGrid a "repintarse", así que, en teoría, tendría que funcionar).

Saludos!

Última edición por jmariano fecha: 21-01-2006 a las 23:39:51.
Responder Con Cita
 



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 04:26:12.


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