Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-02-2011
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 17
shoulder Va por buen camino
Dbgrid double click

Hola, No sabia porque un usuario me modificaba un registro distinto al que estaba viendo. Yo tengo un Form con un Dbgrid y abajo de este varios edit, el usuario elige con un doble click la linea y dentro del ondblclick tengo una rutina que hace que se completen los diferentes edit con los datos de la linea, asi el usuario cambia lo que necesita y pulsa el boton modificar.
Dentro del Boton
Código:
........
zquery4.sql.add ('where codigo = :codigo');
zquery4.ParamByName('codigo').Value := dbgrid1.fields[0].text;
....
Que descubri, el usuario hacia el Doble Click, se completaban los datos, pero despues hacia UN CLICK en otra linea del dbgrid, con UN CLICK no cambian los edit, pero me cambiaba el codigo internamente. Asi que tuve que cambiar que dentro del ondblclick guarde el codigo en un edit oculto y la rutina de update me quedo asi.
Código:
........
zquery4.sql.add ('where codigo = :codigo');
zquery4.ParamByName('codigo').Value := Edit8.text;
....
Por las dudas le comento, si alguno le dio este error, o tienen otra idea.

Gracias.
Responder Con Cita
  #2  
Antiguo 28-02-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola shoulder.

Si no te entiendo mal, creo que tu problema se soluciona con una variable privada de tipo TBookmarkStr.

Código Delphi [-]
...
  private
     FBM:= TBookMarkStr;
  public
  end;
...
implementation
...
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
  FBM:= DataSet.Bookmark; // Posición del DataSet cuando hace doble click
  Edit1.Text:= DataSet.FieldByName('CAMPO1').AsString;
  Edit2.Text:= DataSet.FieldByName('CAMPO2').AsString;
  ...
end;

procedure TForm1.ModificarClick(Sender: TObject);
var
  LBM: TBookmarkStr;
begin  
  LBM:= DataSet.Bookmark; // Guardar posición actual del DataSet
  DataSet.Bookmark:= FBM; // Posición que tenía el DataSet en OnDblClick
  DataSet.Edit;
  DataSet.FieldByName('CAMPO1').AsString:= Edit1.Text;
  DataSet.FieldByName('CAMPO2').AsString:= Edit2.Text;  
  ...
  DataSet.Post;
  DataSet.Bookmark:= LBM; // restaurar posición actual
end;

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 28-02-2011 a las 04:56:42.
Responder Con Cita
Respuesta



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
Doble click en un dbgrid einarcito Varios 5 02-03-2009 15:57:14
error en dbgrid al dar click sobre el Nomad Varios 3 12-08-2008 14:07:33
con click no entra en el dbgrid anubis Tablas planas 4 02-06-2007 20:17:59
Evento Doble Click en DBgrid enecumene Conexión con bases de datos 1 03-07-2006 07:15:42
Dbgrid, evento para seleccion con click Alejandro Vilte OOP 3 19-10-2005 20:00:03


La franja horaria es GMT +2. Ahora son las 00:25:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi