PDA

Ver la Versión Completa : Detectar Cambios TClientDataSet


totote
05-01-2008, 14:00:07
Hola a todos, como se puede detectar si en un TClientDataSet se ha hecho un post, la idea es, que si hace post y apreta en salir pregutar "guardar los cambios antes de salir?"

David
05-01-2008, 14:34:20
Se me ocurre que preguntes por el estado del ClientDataSet, si esta en estado edición o insercción.


if not(ClientDataSet.State in [dsInsert,dsEdit]) then
//Si no esta editando o insertando entonces ...

totote
05-01-2008, 14:46:49
no, yo tengo en TDBEdit, al ser modificado, hago un post en el TClientDataSet, la idea es que en el evento OnCloseQuery del formulario detecte si se hizo un post y que pregunte si quiere guardar los cambios, sino se hizo ningun post, que salga sin preguntar nada

Al González
05-01-2008, 19:42:06
Hola.

Nada más aclarar que post es guardar y, en este caso, a lo que le estás llamando "guardar" es aplicar.

La propiedad ChangeCount del componente te dice cuántos cambios están pendientes de aplicarse. Así que la condición en un vento como OnCloseQuery, podría ser:

[/Delphi]
If dtXXX.ChangeCount > 0 Then
[Delphi]

Preguntando al usuario si desea aplicar los cambios (aunque, en este mensaje al usuario, no estaría mal que se mostrara la palabra "guardar").

Suerte, no dejes de contarnos cómo te va con ese proyecto.

Al González. :)

totote
05-01-2008, 19:45:40
siiii!!!!!! es eso lo que estaba buscando, Gracias Al

Al González
05-01-2008, 19:47:00
siiii!!!!!! es eso lo que estaba buscando, Gracias Al
Gracias a la Ayuda de Delphi que nos enseña tantas cosas con sólo apretar un botón. ;)