Ao abrir uma tabela, os DbCheckbox aparecem marcados. Como?
Gostaria de saber como que ao abrir uma tabela, os DbCheckbox aparecem marcados com as opções marcadas na hora do cadastro.
A tabela está abrindo, nos DbEdit´s aparecem os dados, mas nos DBCheckbox eles aprecem todos cinza.
Valeu a força!!
JR.
A tabela está abrindo, nos DbEdit´s aparecem os dados, mas nos DBCheckbox eles aprecem todos cinza.
Valeu a força!!
JR.
Jrjoliv2003
Curtidas 1
Melhor post
Tnaires
30/06/2004
Olá
No OnNewRecord do DataSet (Table, Query) de cadastro, ajuste todos os campos booleanos como false (ou true, de acordo com sua conveniência).
Exemplo:
Código do DataSet:
Abraços
No OnNewRecord do DataSet (Table, Query) de cadastro, ajuste todos os campos booleanos como false (ou true, de acordo com sua conveniência).
Exemplo:
Cadastro --------- ID Booleano1 Booleano2
Código do DataSet:
TForm1.Table1OnNewRecord(DataSet: TDataSet) begin Table1Booleano1.Value := false; Table1Booleano2.Value := false; end;
Abraços
GOSTEI 1
Mais Respostas
Jrjoliv2003
30/06/2004
Valeu!!
Vou verificar. Qualquer coisa envio mensagem!!
JR.
Vou verificar. Qualquer coisa envio mensagem!!
JR.
GOSTEI 0
Jrjoliv2003
30/06/2004
Realmente quando coloco um novo registro, ocódigo passdo funciona. Valeu!!
Mas queria tb saber como que as opções marcadas aparecem quando visualizo os registros?
Passando de um registro para outro as opções teriam que ficar marcadas ou não de acordo com o cadastro.
Neste caso elas continuam aparecendo cinza.
Uma observação. Estou trabalhando com Interbase 6 e não tem tipo de dado Boleano. Coloquei como tipo de dado varchar(1). Tem alguma coisa haver?
Sou novo em programação!
Valeu a força!!
JR.
Mas queria tb saber como que as opções marcadas aparecem quando visualizo os registros?
Passando de um registro para outro as opções teriam que ficar marcadas ou não de acordo com o cadastro.
Neste caso elas continuam aparecendo cinza.
Uma observação. Estou trabalhando com Interbase 6 e não tem tipo de dado Boleano. Coloquei como tipo de dado varchar(1). Tem alguma coisa haver?
Sou novo em programação!
Valeu a força!!
JR.
GOSTEI 0
Tnaires
30/06/2004
Hmm... Nesse caso, talvez seja bom vc usar DBRadioGroups, onde cada item pode ter um valor. Na propriedade Items, vc coloca os itens que o usuário deve marcar, e na propriedade Values o caractere respectivo a cada item q deve ser gravado no banco. E no OnNewRecord da tabela, ao invés de atribuir um valor booleano ao campo, vc atribui o caractere correspondente a uma das opções.
Exemplo: se a tabela tem um campo char(1), os itens e os respectivos values seriam:
As letras em Values serão gravadas no campo.
Abraços
Exemplo: se a tabela tem um campo char(1), os itens e os respectivos values seriam:
Itens Values Verdadeiro V Falso F
As letras em Values serão gravadas no campo.
Abraços
GOSTEI 1
Gandalf.nho
30/06/2004
Prá começar não use VARCHAR(1) nesse caso, e sim CHAR(1), pq o conteúdo do campo sempre será do mesmo tamanho. Outra sugestão é SMALLINT. E para o DBCheckBox mostrar os valores corretamente em campos não booleanos, use a propriedade [b:f669fa4760]ValueChecked[/b:f669fa4760].
GOSTEI 0
Jrjoliv2003
30/06/2004
Vou testar as duas respostas. Enviarei resposta assim que puder.
Valeu a força!!
JR.
Valeu a força!!
JR.
GOSTEI 0
Jrjoliv2003
30/06/2004
Continua a mesma coisa!
Eu colquei char(1) em todos os campos. OK!
O que está no form são DBCheckbox para os dias da semana. Então na hora de um novo cadastro está limpando e o usuário marca os dias que quer. OK!
Vamos supor q ele marque Segunda-Feira e Quinta_Feira.
O que está faltado é quando eu abrir a tabela e visualizar esse registro apareça Segunda e Quinta marcos e o restante em branco.
O que está acontecendo é que todos ficam cinza quando abro a tabela.
Valeu a força!!
JR.
Eu colquei char(1) em todos os campos. OK!
O que está no form são DBCheckbox para os dias da semana. Então na hora de um novo cadastro está limpando e o usuário marca os dias que quer. OK!
Vamos supor q ele marque Segunda-Feira e Quinta_Feira.
O que está faltado é quando eu abrir a tabela e visualizar esse registro apareça Segunda e Quinta marcos e o restante em branco.
O que está acontecendo é que todos ficam cinza quando abro a tabela.
Valeu a força!!
JR.
GOSTEI 0
Gandalf.nho
30/06/2004
Que valores você está usando para verdadeiro/falso em seus campos? Pegue cada um de seus DBCkeckboxes e coloque na propriedade ValueChecked o valor usado para verdadeiro (opção selecionada) e na propriedade ValueUnchecked o valor falso (opção não marcada).
Exemplo: suponha que você esteja usando ´S´ para marcado e ´N´ para não marcado; basta atribuir ´S´ à propriedade ValueChecked e ´N´ para ValueUnchecked e voilá.
Exemplo: suponha que você esteja usando ´S´ para marcado e ´N´ para não marcado; basta atribuir ´S´ à propriedade ValueChecked e ´N´ para ValueUnchecked e voilá.
GOSTEI 0
Jrjoliv2003
30/06/2004
Beleza!!!!!!!!
Quando clico no botão novo:
dbcheckbox1.checked:=false;
Quando clico no gravar:
if dbcheckbox1.Checked = False then data.IBTConCON_PREFSEG.Value:=´F´ else data.IBTConCON_PREFSEG.Value:=´T´;
Peguei cada um dos DBCkeckboxes e coloquei na propriedade
ValueChecked o valor usado para verdadeiro e na propriedade ValueUnchecked o valor falso
Mais uma vez Obrigado.
Valeu!!!
JR.
Quando clico no botão novo:
dbcheckbox1.checked:=false;
Quando clico no gravar:
if dbcheckbox1.Checked = False then data.IBTConCON_PREFSEG.Value:=´F´ else data.IBTConCON_PREFSEG.Value:=´T´;
Peguei cada um dos DBCkeckboxes e coloquei na propriedade
ValueChecked o valor usado para verdadeiro e na propriedade ValueUnchecked o valor falso
Mais uma vez Obrigado.
Valeu!!!
JR.
GOSTEI 0