Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Datos de tabla modificados (https://www.clubdelphi.com/foros/showthread.php?t=85183)

lbidi 11-02-2014 19:22:51

Datos de tabla modificados
 
Estimados:

Estoy necesitando saber si los datos que tengo en una grilla asignada a un Datasource han cambiado para asi dar la opcion de grabar las modificaciones o salir solamente sin grabar.

Para ello, habia seteado una variable en el evento onchangedata del DS , peroooo ( todo tiene un pero ) obviamente luego me doy cuenta que si cuando recupero los datos de la BD para modificarlos, el DS cambia su estado por lo cual la variable siempre me da true.

Resumiendo, la idea es poder traer datos de una BD y mostrarlos en una grilla, y solamente si se ha modificado alguna de sus 2 columnas, dar la opcion de grabar al cerrar el form, sino cerrar y nada mas.

Mil gracias por vuestra ayuda.

Saludos.

Leo

ecfisa 11-02-2014 20:20:04

Hola Ibidi.

Fijate si te sirve de este modo:
Código Delphi [-]
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  with DataSet do //DataSet = referido por: DBGrid.DataSource.DataSet
  begin
    CachedUpdates:= True;
    Open;
  end;
end;

...

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   if DataSet.UpdatesPending then
    if MessageBox(0,'¿ Desea guardar los cambios ?','',MB_YESNO+MB_ICONQUESTION)=IDYES then
      DataSet.ApplyUpdates;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  with DataSet do
  begin
    Close;
    CachedUpdates:= False;
  end;
end;

Saludos :)

lbidi 17-02-2014 17:57:50

Gracias efcisa.

Saludos


La franja horaria es GMT +2. Ahora son las 23:33:43.

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