Fórum Código p/ Habilitar/Desabilitar Botões #300444

24/10/2005

0

Supondo que eu tenha uma tela cheia de edits ligados aos campos de um dataset e uma barra cheia de botões (Inserir, Confirmar, Cancelar, Excluir, etc.)

Quero que apenas os botões Inserir e Excluir fiquem habilitados enquanto o dataset estiver em estado dsBrowse e que apenas os botões Confirmar e Cancelar fiquem habilitados caso o dataset esteja em estado dsInsert ou dsEdit.

Minha dúvida é: onde ponho o código pra habilitar/desabilitar os botões?

Sendo uma lógica de apresentação, o que eu costumo fazer é criar uma procedure, chamar essa procedure de dentro do OnChange de um dos edits da própria tela e associar esse evento a todos outros edits do form. Esse procedimento é errado? Me disseram que é muito mais rápido e melhor pôr esse código nos eventos do próprio dataset lá no datamodule.

Devo continuar fazendo desta maneira ou devo fazer dessa outra forma que me sugeriram?


Mordred

Mordred

Responder

Posts

24/10/2005

Emarcolongo

Vc deverá colocar no evento onDataChange do datasource.

por exemplo

if not datasource1.dataset.state in [dsinsert,dsedit] then
begin
//habilitar
end else begin
//desabilitar
end;


Responder

Gostei + 0

24/10/2005

Marlon_fp

kara eu sempre faco assim
crio um procedimento
procedure meuform.mudaestado;
begin
btninserir.enabled:=tblminha.state=dsbrowse;
dbnome.readonly:-tblminha.state=dsbrowse;
end;

crio um procedimento para todos os botões
procedure botaoclick(sender:tobject);
if sender=btninserir then
begin
tblminha.append;
mudaestado;
dbnome.setfocus;
end;

no evento onshow do form eu uso o mudaestado também.
fica facil de controlar e leve


Responder

Gostei + 0

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

Aceitar