Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

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: 24
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
 



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 05:20:47.


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