Duvidas - Como travar e liberar campos?

Delphi

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

Ricieri

Curtidas 0

Respostas

Rjun

Rjun

22/03/2006

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.


GOSTEI 0
Ricieri

Ricieri

22/03/2006

como faço isso?


GOSTEI 0
Paullsoftware

Paullsoftware

22/03/2006

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:


GOSTEI 0
POSTAR