propriedade Datasource.State

Delphi

08/06/2005

sei que quando pesso um novo registro essa propriedade fica com dsInsert, e quando estou alterando um registro ela fica dsEdit.
mas preciso saber se ao pedir um novo registro o usuário já digitou alguma coisa. ou seja:
como faço para quando o State estiver em dsInsert eu saiba se o usuário jádigitou alguma coisa?


Raserafim

Raserafim

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

08/06/2005

Colega,

Em que momento você precisa obter esta informação? Você está usando controles data-aware?


GOSTEI 0
Raserafim

Raserafim

08/06/2005

estou usando sim controles data-aware.

preciso saber disto para que ao clicar no botao Novo e esteja algum registro pendente que não foi salvo, seja solicitado ao usuário se este quer salvar.
porém não quero que essa menssagem seja exibida caso não tenha sido digitado nada, como por exemplo no caso do usuário clique duas vezes no botao Novo.


GOSTEI 0
Isabelct

Isabelct

08/06/2005

preciso saber disto para que ao clicar no botao Novo e esteja algum registro pendente que não foi salvo, seja solicitado ao usuário se este quer salvar. porém não quero que essa menssagem seja exibida caso não tenha sido digitado nada, como por exemplo no caso do usuário clique duas vezes no botao Novo.

Neste caso, acredito que o mais interessante seria você controlar o click dos botões... Quando clicar no botão Novo (ou Editar), habilita o Gravar e o Cancelar e desabilita o Novo. Ao clicar em Gravar ou Cancelar, desabilita-os e torna a habilitar o Novo. Acho que assim fica mais simples pra você controlar e também mais elucidativo para o usuário.


GOSTEI 0
Raserafim

Raserafim

08/06/2005

esse é o jeito que eu estou usando. já que controlo quando o botao salvar e o cancelar serão abilitados pelo evento disparado pela mudança de status, queria controlar o do botão novo tb.
mas veleu isabelct.


GOSTEI 0
Microbios

Microbios

08/06/2005

raserafim escreveu: esse é o jeito que eu estou usando. já que controlo quando o botao salvar e o cancelar serão abilitados pelo evento disparado pela mudança de status, queria controlar o do botão novo tb.



Eu, controlo bem o botão novo, incluir, cancelar... usando métodos da forma que vc usa... desta forma:

botaonovo.enabled := not(datamodule.tabela.state in [DsInsert];
botaoincluir.enabled := datamodule.tabela.state in [DsInsert];
botaocancelar.enabled := datamodule.tabela.state in [DsInsert];
botaoExcluir.enabled := not(datamodule.tabela.state in [DsInsert];
e etc...

botoes de navegacao por exemplo:

primeiro, anterior, posterior e ultimo.enabled := datamodule.tabela.state in [DSBROWSE]

coloco o botao novo habilitado na criacao do form e os botoes incluir e cancelar desabilitados...

maiores detalhes eu te mando uma rotina funcionando com este exemplo que citei....

Rafael
mbiosinformatica@gmail.com


GOSTEI 0
POSTAR