Buscar

Comportamento do DbNavigator em botões (Enabled)

Código

Olá Pessoal,

Imitando comportamento da propriedade Enable de botões igualmente ao DbNavigator.

Algumas pessoas ñ gostam de misturar comandos que ñ sejam exclusivos do DataModule, portanto, este código funciona muito bem.

Acesse a propriedade OnChange do componente DataSource da sua aplicação onde quer que ele estaja, nas minhas aplicações sempre deixo no DataModule.

Insira o código como mostrado abaixo, respeitando o XXXX que serão os nomes que você deu aos componentes e forms.

procedure TDataModuleXXXX.DataSourceXXXXDataChange(Sender: TObject;
  Field: TField);
begin
 with DataSourceXXXX.DataSet do
  begin
    //Primeiro Registro [nbFirst]
    FormXXXX.Botao_Primeiro.Enabled:= (not Bof) and (State = dsBrowse);
    //Último Registro [nbLast]
    FormXXXX.Botao_Ultimo.Enabled:=  (not Eof) and (State = dsBrowse);
    //Registro Anterior [nbPrior]
    FormXXXX.Botao_Anterior.Enabled:= (not Bof) and (State = dsBrowse);
    //Próximo Registro [nbNext]
    FormXXXX.Botao_Proximo.Enabled:= (not Eof) and (State = dsBrowse);
    //Inserir Registro [nbInsert]
    FormXXXX.Botao_Novo.Enabled:= (State = dsBrowse);
    //Remover Registro [nbDelete]
    FormXXXX.Botao_Remover.Enabled:= (State = dsBrowse) and (not IsEmpty);
    //Confirmar Alteração no Registro [nbPost]
    FormXXXX.Botao_Confirmar.enabled:= (State <> dsBrowse);
    //Editar Registro [nbEdit]
    FormXXXX.Botao_Editar.Enabled:= (State = dsBrowse) and (not IsEmpty);
    //Cancelar Alterações no Registro [nbCancel]
    FormXXXX.Botao_Cancelar.Enabled:= (State <> dsBrowse);
  end;
end;

Com isso sempre que você solicitar um Novo Registro os botões que ñ participam da ação ficarão desabilitados.

Abraços.

Sem mais,
Eduardo Ludgero

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Banco de dados
Adicionada dia: 08/05/10
Por: Eduardo Ludgero
Visualizada: 6985 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009