Habilitar e desabilitar botões

16/01/2025

0

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

  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:

  //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

  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