DBCheckbox-cinza sem solução
Oi,
antes de postar esse topico fiz uma busca no fórum e apesar de encontrar alguns tópicos q falem sobre o assunto nenhum resolveu o meu problema.
Estou com uma aplicação D2005 e Firebird 2.0 funcionando perfeitamente, tenho alguns campos ´boolean´, onde para tal foi criado um domain:
CREATE DOMAIN BOOLEAN AS
CHAR(5) CHARACTER SET WIN1252
DEFAULT ´False´
NOT NULL
CHECK (VALUE IN (´True´,´False´))
COLLATE PXW_INTL850
o armazanamento está sendo feito corretamente, quando marco ele grava True e quando desmarco ele grava False, o problema é a visualização no DBCheckbox, em registros em q o campo está True no checkbox aparece marcado mas cinza, outro exemplo: quando peço pra inserir um novo registro e mesmo sem marcar nenhum checkbox quando gravo ficam marcados na cor cinza, mesmo gravando False(já q no próprio dominio já é repassado o default), ele só fica desmarcado quando eu clico com o mouse, se eu volto a marcar ele fica beleza, preto, mas só enquanto eu estou no form, quando saio e entro de novo tá lá, cinza.
O q eu posso fazer?
Obrigado
antes de postar esse topico fiz uma busca no fórum e apesar de encontrar alguns tópicos q falem sobre o assunto nenhum resolveu o meu problema.
Estou com uma aplicação D2005 e Firebird 2.0 funcionando perfeitamente, tenho alguns campos ´boolean´, onde para tal foi criado um domain:
CREATE DOMAIN BOOLEAN AS
CHAR(5) CHARACTER SET WIN1252
DEFAULT ´False´
NOT NULL
CHECK (VALUE IN (´True´,´False´))
COLLATE PXW_INTL850
o armazanamento está sendo feito corretamente, quando marco ele grava True e quando desmarco ele grava False, o problema é a visualização no DBCheckbox, em registros em q o campo está True no checkbox aparece marcado mas cinza, outro exemplo: quando peço pra inserir um novo registro e mesmo sem marcar nenhum checkbox quando gravo ficam marcados na cor cinza, mesmo gravando False(já q no próprio dominio já é repassado o default), ele só fica desmarcado quando eu clico com o mouse, se eu volto a marcar ele fica beleza, preto, mas só enquanto eu estou no form, quando saio e entro de novo tá lá, cinza.
O q eu posso fazer?
Obrigado
Fajo
Curtidas 0
Respostas
Firekiller
19/10/2005
isso tá ocorrendo porque char(5) completa o qua falta para 5 (tamanho) com espaços, então, quando o valor for true, na verdade você teria ´true´+´ ´ Entendeu?? Troque o tipo do campo para varchar que irá funcionar blz.
GOSTEI 0
Fajo
19/10/2005
O problema de ficar cinza mesmo quando o campo for True foi resolvido, valeu; agora o problema de ficar cinza e marcado quando se pede pra inserir um novo registro continua;
GOSTEI 0
Firekiller
19/10/2005
isso está ocorrendo pois o valor default (colocado no banco) só tem funcionalidade se vc for gravar no banco e o campo não tiver preenchido.
No caso de você querer que fique marcado na hora em que você inserir, coloque esse código no evento OnNewRecord do seu dataset:
Dataset.FieldByName(´CampoBoolean´).Value := ´True´;
Isso irá resolver seu problema.
No caso de você querer que fique marcado na hora em que você inserir, coloque esse código no evento OnNewRecord do seu dataset:
Dataset.FieldByName(´CampoBoolean´).Value := ´True´;
Isso irá resolver seu problema.
GOSTEI 0
Fajo
19/10/2005
Valeu firekiller,
deu tudo certo, brigado.
deu tudo certo, brigado.
GOSTEI 0