Desabilitar Campos a partir de uma Condição no TDBRadioGroup
30/01/2013
0
Peço ajuda para este problema.
Estou trabalhando no Formulario de Funcionario porem queria criar a seguinte condição.
Tenho no form um componente notebook com varias abas, na primeira tem os dados pessoais do funcionario com um TDBRadioGroup para o Sexo com as opções MASC e FEMIN, com os Valores 0 e 1 respectivamente. na segunda ABA coloquei todos os dados de documentos como CPF, RG, ..... Existe o campo para cadastrar o numero da RESERVISTA, que todos nós sabemos ser apenas para homens.
Minha necessidade é a seguinte:
Quando estiver cadastrando um novo funcionario ou editando um antigo, se for clicado no campo Feminino dentro do TDBRadoiGroup, ele desabilite na segunda aba o DBEdit (Campo) onde seria digitado o numero da reservista, nao sendo mais possivel digitar nada, a não ser que se altere novamente o campo do RadioGroup para Masculino novamente.
Desde Já Obrigado
Flavio Silva
Posts
30/01/2013
William
if DBRadioGroup.ItemIndex = 0 then DBEditReservista.Visible := false else DBEditReservista.Visible := true;
Neste caso estou deixando invisível, mas vc pode desabilitar usando a propriedade Enabled = false.
Qualquer dúvida posta aí novamente.
30/01/2013
Ricardo Araujo
Pode fazer desta forma também.
Eu tenho este exemplo no meu sistema e funciona.
if ckbDocPedido.enabled = true then
edit1.enabled := true
else
edit1.enabled := false;
cara espero ter ajudado.
30/01/2013
Rodolpho Silva
DBEditReservista.Enabled := (DBRadioGroup.ItemIndex = 0);
30/01/2013
Flavio Silva
Porem, a unica observação que faço é que quando clico na opção feminino, o campo edtReservista, só fica invisivel ou desabilitado quando clico dentro dele e digito qualquer coisa por exemplo a letra "a", ai sim, ele fica desabilitado com a letra a dentro, ou some conforme foi programado.
O interessante seria tão logo clicasse na opção o mesmo ja ficar desabilitado/invisivel, ou senão, ficar desta forma, porem, ficar em branco e não com a letra "a" por exemplo.
Mesmo assim agradeço a ajuda de todos
30/01/2013
Rodolpho Silva
procedure TForm.RadioGroup1Click(Sender: TObject); begin DBEditReservista.Enabled := (DBRadioGroup.ItemIndex = 0); end;
30/01/2013
Flavio Silva
Tinha colocado o codigo direto no edtReservista, por isso ele estava verificando no momento em que digitava algo. Fiz como indicado e agora esta correto.
Muito obrigado a todos
31/01/2013
Ricardo Araujo
Espero ter ajudo.
Clique aqui para fazer login e interagir na Comunidade :)