Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 17-09-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 25
Caro Va por buen camino
Hola, creo que el problema que tiene el amigo no es en el pintado ya que su codigo funciona sino en colocar la condición y que cuando se haga doble click sobre un registro del se pinte.

Como te dijo Crandel necesitas un campo que te haga de condición y que maneje los valores que necesitas, talvez sería bueno que aumentes un campo Estado donde 1 signifique activo y 0 No activo, los que tengas con 0 los pintas del color que quieras, ahora en el evento dobleClick del DbGrid tendrías que modificar el valor de 1 a 0 o de 0 a 1, una vez que se refresque nuevamente el DBGrid con los cambios que acabas de hacer se activara nuevamente el evento OnDrawColumnCell para hacer el repintado.

Código Delphi [-]
procedure TForm1.DBGridDblClick(Sender: TObject);
var
 codigo : String;
begin
 Query.Close;
 Case QueryDBGrid.FieldByName('estado').AsInteger Of
  0 : Query.SQL.Text := 'Update tabla set estado=1 '+
                                 'where codigo='+QueryDBGrid.FieldByName('codigo').AsInteger;
  1:  Query.SQL.Text := 'Update tabla set estado=0 where '+
                                 'codigo='+QueryDBGrid.FieldByName('codigo').AsInteger;
 end;  
 Query.ExecSQL;
 
 QueryDBGrid.Close;
 QueryDBGrid.SQL.Text := 'select * from tabla';
 QueryDBGrid.Open;
end;

Y despues como ya te han indicado preguntarías por ese campo estado.

Código Delphi [-]
procedure TF_VentaPlato.DBG_DetallesPlatoOnDrawColumns(Sender: TObject; const Rect: TRect;
 DataCol: Integer; Column: TColumn;State: TGridDrawState);
begin
 if QueryDBGrid.FieldbyName('estado').AsInteger = 0 then
  begin
   DBG_DetallesPlato.Canvas.Font.Style := DBG_DetallesPlato.Canvas.Font.Style + [fsBold];
   DBG_DetallesPlato.Canvas.Brush.Color := clRed;
   DBG_DetallesPlato.Canvas.FillRect(Rect);
State := [gdSelected, gdFocused];

DBG_DetallesPlato.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
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
Hola amigos Caral La Taberna 30 09-03-2008 16:36:12
S.O.S amigos programadores karlaoax La Taberna 19 19-10-2007 19:59:28
Para mis amigos los come uña jhonny La Taberna 8 11-05-2007 04:57:35
Hola amigos... DB-ADO Conexión con bases de datos 5 01-03-2005 14:30:54
Reencuentro de dos amigos. marcoszorrilla Humor 0 09-05-2004 00:38:01


La franja horaria es GMT +2. Ahora son las 15:20:32.


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