Cita:
Empezado por Leonardo
Existe una manera de detener una actualizacion si se esta utilizando un datanavigator para las modificaciones del dataset, por ejemplo tengo pensado mostrar un mensaje antes de que se actualize cierto registro y dependiendo de si la persona esta de acuerdo enactualizar que se actualize si no que se cancele la actualizacion.
|
En estos caso, muchas veces los más prolijo es pensar únicamente en la acción (lo marcado en negritas) y no en la causa de ésta (el dbnavigator).
Dicho de otra forma, generalmente lo importante aquí es cancelar (o no) la actualización del registro, independientemente de cómo se intenten guardar los cambios. De esta manera dependes menos de la interfaz de usuario.
Para ello es conveniente pensar, no en tal o cual control en particular, sino en el dataset asociado.
En este caso, cuentas con el evento BeforePost que se genera cuando el motor está a punto de mandar los cambios a la base:
Código Delphi
[-]
const
Flags = MB_ICONQUESTION or MB_YESNO;
begin
if Application.MessageBox('¿Desea guardar los cambios?', 'Confirmar', Flags) = idNo then
begin
DataSet.Cancel;
abort;
end;
end;
// Saludos