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
  #8  
Antiguo 08-11-2003
Descendents Descendents is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 396
Poder: 24
Descendents Va por buen camino
Con tu Permiso MarcosZorrilla, pongo lo que yo utilizo,reciclado de tu código.

Al Grid,al campo booleano,se le pone el readonly a true, si no al modificarlo por teclado daria error.

ADOTable1:Tabla
trastero:Campo boleano
Grlineas:Grid
DbChkSumarClick:Tcheckbox;

Código:
procedure TForm1.GrLineasColEnter(Sender: TObject);
begin
  if GrLineas.Columns [GrLineas.SelectedIndex].
      Field = ADOTable1trastero then
    DbChkSumar.Visible := True
  else
    DbChkSumar.Visible := false;

end;

procedure TForm1.GrLineasDrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
 if (gdFocused in State) and
    (Column.Field = ADOTable1trastero) then
  begin
    DbchkSumar.SetBounds (
      Rect.Left + grLineas.Left + 1,
      Rect.Top + grLineas.Top + 1,
      Rect.Right - Rect.Left,
      Rect.Bottom - Rect.Top);
      dbchksumar.Checked := ADOTable1Trastero.value;
  end;
end;

procedure TForm1.DbChkSumarClick(Sender: TObject);
begin
     ADOTable1.edit;
     ADOTable1Trastero.value := DbChkSumar.Checked;
     adotable1.post;
  end;

procedure TForm1.GrLineasKeyPress(Sender: TObject; var Key: Char);
begin
 if dbchksumar.visible then begin
      if dbchksumar.Checked = true then begin
         dbchksumar.Checked := false;
         dbchksumarclick(nil);
         exit;
      end;
      if dbchksumar.Checked = false then begin
         dbchksumar.Checked := true;
         dbchksumarclick(nil);
         exit;
      end;

 end;
end;
De esta manera al moverme a través de los registros, se me refresca el checkbox.
Se puede modificar el checbox apretando cualquier tecla, o con el click.
Si se quiere una tecla determinada, se hace un filtro if Key tal etc...

Un saludo

Última edición por Descendents fecha: 08-11-2003 a las 03:08:46.
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 20:40:09.


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