Duvidas - Como travar e liberar campos?

22/03/2006

Pessoal, tenho uma duvida que nao consegui resolver...
Vejam:

Estou fazendo um sistema de controle de estoque, e o campo ´quantidade em estoque´ eu só vou deixar o usuário digitar a quantidade quando for um cadastro novo...
Tipo, já tenho cadastrado ´coca cola´ com 50 itens em estoque, este estoque o usuário não pode mais editar, só vai ser alterado na tela de vendas e de compras que vai baixar e aumentar estoque.. até ai tudo bem, vou lá e dou um enable = false no dbedit...
Mas e quando for um cadastro novo, eu preciso deixar este campo liberado para o usuario digitar a quantidade...
Como posso fazer isso da melhor forma sem ninguem poder burlar?

Grato...


Ricieri

Respostas

23/03/2006

Rjun

Verifique o estado do dataset. Se ele estiver como dsInsert então deixe o dbedit habilitado. Caso contrário desabilite o dbedit ou deixe-o como readonly.


Responder Citar

23/03/2006

Ricieri

como faço isso?


Responder Citar

23/03/2006

Paullsoftware

Declare a Unit [b:1a4d1acc5a]DB[/b:1a4d1acc5a] na Uses do Form em questão, no OnChange ou OnEnter do Campo em questão faça assim:

if DataSource1.State in [DsInsert] then
begin
//Permita a insersão do valor
end
else
begin
//Caso contrário, faça alguma rotina de bloqueio!
end;

:!: [b:1a4d1acc5a]Detalhe[/b:1a4d1acc5a] :!:
Existe outros estados em que o DataSet pode estar para vê-los Precione a tecla CTRL e clique sobre a palavra State! :wink:


Responder Citar