SAIDA CANCELANDO ALTERAÇÃO

Delphi

25/08/2009

Amigos,

Mais uma hoje....

O usuário entrou no cadastro para alteração, fez um alteração e mas, logo após resolveu sair sem gravar...

Como faço para notificá-lo que houve uma alteração no cadastro e deseja gravar ou realmente sair sem perdendo alteração?


Lenasi

Lenasi

Curtidas 0

Respostas

Osocram

Osocram

25/08/2009

pode verificar se o .State <> dsBrowser do seu dataset principal

na verdade eu faço assim nos meus forms

public
PodeFechar :boolean;

OnCreate
PodeFechar := false;

OnCloseQuery
Canclose := PodeFEchar

Dae o form não fecha a não ser que vc passe a variavel PodeFechar = True
tipo em botão Fechar,
Dae no botão fechar antes de fazer isso vc valida se esta em modo de edição.


GOSTEI 0
Lenasi

Lenasi

25/08/2009

pode verificar se o .State <> dsBrowser do seu dataset principal na verdade eu faço assim nos meus forms public PodeFechar :boolean; OnCreate PodeFechar := false; OnCloseQuery Canclose := PodeFEchar Dae o form não fecha a não ser que vc passe a variavel PodeFechar = True tipo em botão Fechar, Dae no botão fechar antes de fazer isso vc valida se esta em modo de edição.



Então, se o usuário por um acaso alterou um campo e tenta sair sem gravar, seria notificado?
Se nada for alterado, sai normalmente?


GOSTEI 0
Osocram

Osocram

25/08/2009

é so vc verificar o estado do dataSet...

no OnCloseQuery vc pode fazer algo assim
if (cds.State = dsBrowser) then begin
PodeFechar := false;
showmessage(´Não pode fechar a tela pois tem alterações pendentes.´);
end;

Agora é so vc inventar como quer proteger.


GOSTEI 0
POSTAR