DBcheckbox - allowgrayed false não funciona

Delphi

10/04/2004

Olá

Se alguém puder ajudar agradeço.


Tenho um dbcheckbox conectado, com a prop.allowgrayed em false, mas fica no estado grayed. O bd está configurado um estado false(MSAccess), ADOTable.

Quando um bitbtn é acionado(ADOTable.append) é executado ocorre este
problema, entretanto se o bitbtn(ADOTable.edit) é executado o dbcheckbox funciona como esperado!!!

O que está errado?
:?:


N1

N1

Curtidas 0

Respostas

Marco Salles

Marco Salles

10/04/2004

Tenho um dbcheckbox conectado, com a prop.allowgrayed em false, mas fica no estado grayed.

Engraçado...Verifique a propriedade enabled Do DbRadioGroup...se o enabled tiver Configuado como false ele vai ficar sempre parecendo estar no estado ´grayed´...Mas Por Outro Lado:
entretanto se o bitbtn(ADOTable.edit) é executado o dbcheckbox funciona como esperado!!!
Também Não Deveria Funcionar....


GOSTEI 0
Adilsond

Adilsond

10/04/2004

Isto ocorre porque não há um valor default para o mesmo. Ao inserir um novo registro o campo é inicializado com nulo. No evento OnNewRecord voce deve definir o campo com True ou False (Como desejar).


GOSTEI 0
Eniorm

Eniorm

10/04/2004

Isto ocorre porque não há um valor default para o mesmo. Ao inserir um novo registro o campo é inicializado com nulo. No evento OnNewRecord voce deve definir o campo com True ou False (Como desejar).


Ok, e no meu caso que eu criei os campos (char tam 1) e defini
o valor default como sendo ´N´
toda vez que eu tento inserir bem como editar os DBCheckBox
aparecem em modo grayed ?????????????????


GOSTEI 0
Adilsond

Adilsond

10/04/2004

Imagino que as propriedades a seguir do seu DBCheckBox estajam assim:


ValueChecked := ´S´;
ValueUnchecked := ´N´;

Verifique se o valor default está sendo carregado corretamente:

procedure TForm1.Table1AfterInsert(DataSet: TDataSet);
begin
ShowMessage(´Valor do campo xxxx: ´ + MinhaTabela/QueryCampo.Value);
end;

Caso não esteja, faça:

procedure TForm1.Table1NewRecord(DataSet: TDataSet);
begin
MinhaTabela/QueryCampo.Value := ´N´;
end;


Faça um sql para alterar os registros já inclusos e execute via o SQL Explorer.

update tabela
set campo = ´N´
where campo <> ´S´


GOSTEI 0
POSTAR