Fórum Habilitar e desabilitar botões #623631

16/01/2025

0

Pessoal, estou usando este código no evento OnStateChange do meu DataSource

1
2
3
4
5
6
7
8
9
10
11
12
if Assigned(FrmFornecedores) then
begin
  with FrmFornecedores do
  begin
    btnNovo.Enabled           := (Sender as TDataSource).State in [dsBrowse];
    btnGravar.Enabled         := (Sender as TDataSource).State in [dsEdit, dsInsert];
    btnCancelar.Enabled       := btnGravar.Enabled;
    btnAlterar.Enabled        := (btnNovo.Enabled) and not ((Sender as TDataSource).DataSet.IsEmpty);
    btnExcluir.Enabled        := btnAlterar.Enabled;
    btnSair.Enabled           := btnNovo.Enabled;
  end;
end;


No meu botão Incluir faço assim:

1
2
3
4
5
6
7
8
9
10
11
12
//Abre a tabela vazia
if not FrmDm.qrSacados.Active then
begin
  FrmDm.qrSacados.SQL.Text := SQLSacados;
  FrmDm.qrSacados.SQL.Add('WHERE SA.CODIGO = :COD');
  FrmDm.qrSacados.Open;
end;
 
Incluir := True;
FrmDm.qrSacados.Append;
FrmDm.qrSacadosSTATUS.AsString := 'ATIVO';
edNome.SetFocus;


No botão Cancelar

1
FrmDm.qrSacados.Cancel;


Se eu clicar no botão NOVO e em seguida no botão CANCELAR, notei que os botões ALTERAR e EXCLUIR ficam habilitados, mesmo não tendo nenhum dado no meu dbgrid.
Alguém já passou por isso?
Renan

Renan

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar