Fórum Capturar Alterações #618613
25/08/2022
0
Tenho um simples cadastro, quando clico no botão: "Salvar" configurei para que após ser "Salvo" o mesmo seja desabilitado.(Até aí tudo bem!!)
Aí vem o problema: Se o registro já está "Salvo" gostaria de saber se existe uma maneira de a medida que o usuário alterar essas informações já gravadas, o Botão: "Salvar" seja habilitado.
Passo 1: Salvei o registro
Passo 2: Registro gravado e Botão foi desabilitado
Passo 3: No mesmo registro, agora estou fazendo qualquer alteração e o Delphi está entendo que é uma alteração e habilita o botão "Salvar".
Procurei muitos eventos, mas não encontrei nada que controla ou captura alterações dentro de um Form nesse sentido.
Willian Rodrigues
Curtir tópico
+ 1Post mais votado
29/08/2022
ButtonSalvar.Enabled := ((Sender as TDataSource).DataSet.State in [dsEdit, dsInsert]);
note que para funcionar desta maneira o DataSource precisa ser instanciado no mesmo form onde está o botão Salvar.
Emerson Nascimento
Gostei + 1
Mais Posts
26/08/2022
Lucas Santato
Tenho um simples cadastro, quando clico no botão: "Salvar" configurei para que após ser "Salvo" o mesmo seja desabilitado.(Até aí tudo bem!!)
Aí vem o problema: Se o registro já está "Salvo" gostaria de saber se existe uma maneira de a medida que o usuário alterar essas informações já gravadas, o Botão: "Salvar" seja habilitado.
Passo 1: Salvei o registro
Passo 2: Registro gravado e Botão foi desabilitado
Passo 3: No mesmo registro, agora estou fazendo qualquer alteração e o Delphi está entendo que é uma alteração e habilita o botão "Salvar".
Procurei muitos eventos, mas não encontrei nada que controla ou captura alterações dentro de um Form nesse sentido.
Acho que daria certo colocar no evento OnChange dos campos o ButtonSalvar.Enabled := True;
Gostei + 0
26/08/2022
Emerson Nascimento
Gostei + 0
26/08/2022
Willian Rodrigues
fiz um teste bem simples, coloquei um ShowMessage para mostrar quando o evento está disparando.
Gostei + 0
27/08/2022
Raimundo Pereira
If Tabela.State in [dsEdit, dsInsert] then
begin
ButtonSalvar.Enabled:=true;
end
else
begim
ButtonSalvar.Enabled:=False;
end;
Gostei + 0
29/08/2022
Willian Rodrigues
Muito Obrigado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)