DBComboBox
alguém sabe uma forma de utilizar o DBComboBox desta maneira:
tenho um dbcombobox com os seguintes itens ...
1. Item um
2. Item dois
3. Item tres
porém, gostaria que ele retornasse para o campo apenas os números por exemplo ...(1, 2 ou 3) ...
resumindo .. preciso que ele exiba as informações com descrições, porém salve no campo apenas parte da informação ..
abraços !!!
tenho um dbcombobox com os seguintes itens ...
1. Item um
2. Item dois
3. Item tres
porém, gostaria que ele retornasse para o campo apenas os números por exemplo ...(1, 2 ou 3) ...
resumindo .. preciso que ele exiba as informações com descrições, porém salve no campo apenas parte da informação ..
abraços !!!
Danielrsanches
Curtidas 0
Respostas
Aroldo Zanela
10/06/2009
Colega,
Creio que um campo Char(1), receberá apenas o primeiro dígito, mas não estou seguro. Faça um teste.
Outra alternativa, com ComboBox ou dbComboBox é utilizar o manipulador de evento OnChange, conforme exemplo:
Creio que um campo Char(1), receberá apenas o primeiro dígito, mas não estou seguro. Faça um teste.
Outra alternativa, com ComboBox ou dbComboBox é utilizar o manipulador de evento OnChange, conforme exemplo:
ShowMessage((Sender as TComboBox).Text[1]); // Pegar a primeira posição
GOSTEI 0
Danielrsanches
10/06/2009
obrigado pela resposta Aroldo !!
mas isso não funciona, ou funciona em partes ... eu até consigo pegar esse valor (parcial) e colocá-lo no campo, porém na hora de exibir a informação ele não exibe ...
mas estou fazendo de outra forma mesmo ... com o DBComboBox será impossível fazer isso .. não adianta querer fazer milagres com ele ...rsrsrs
mesmo assim, muito obrigado !!!
abraços !!
mas isso não funciona, ou funciona em partes ... eu até consigo pegar esse valor (parcial) e colocá-lo no campo, porém na hora de exibir a informação ele não exibe ...
mas estou fazendo de outra forma mesmo ... com o DBComboBox será impossível fazer isso .. não adianta querer fazer milagres com ele ...rsrsrs
mesmo assim, muito obrigado !!!
abraços !!
GOSTEI 0
Marco Salles
10/06/2009
para salvar no Banco apenas parte da informação ..
Defina o campo como Char
para exibar as informações com descrições manipule o evento
OnGetText do Tfield
Defina o campo como Char
para exibar as informações com descrições manipule o evento
OnGetText do Tfield
procedure TSeuForm.SuDataSetSeuFieldGetText(Sender: TField; var Text: String; DisplayText: Boolean); begin if trim(sender.AsString) <> ´´ then case sender.AsString[1] of ´1´:text:=´1. Item um´; ´2´:text:=´2. Item dois´; ´3´:text:=´3. Item tres´; end;
GOSTEI 0
Danielrsanches
10/06/2009
olá Marco Salles !!!
Não deu certo...
meu campo é varchar(2) ...
com o DBComboBox, ele camptura o texto real que está incluso nos Itens, porém, captura os 2 primeiros caracteres ... resumindo ...
se eu deixar os items assim:
_ = espaço em branco
1_- Item um
2_- Item dois
3_- Item tres
assim o campo captura apenas os 2 primeiros caracteres, conforme disse nosso amigo Aroldo Zanela ...
mesmo assim muito obrigado pela idéia !!
abraços !!
Não deu certo...
meu campo é varchar(2) ...
com o DBComboBox, ele camptura o texto real que está incluso nos Itens, porém, captura os 2 primeiros caracteres ... resumindo ...
se eu deixar os items assim:
_ = espaço em branco
1_- Item um
2_- Item dois
3_- Item tres
assim o campo captura apenas os 2 primeiros caracteres, conforme disse nosso amigo Aroldo Zanela ...
mesmo assim muito obrigado pela idéia !!
abraços !!
GOSTEI 0
Marco Salles
10/06/2009
olá Marco Salles !!!
Não deu certo...
meu campo é varchar(2) ...
DA CERTO SIM ...
Mude o campo para Varchar para varchar(1) , mas se vc quer manter este campo codifique [b:34ed9acd80]simultaneamente[/b:34ed9acd80] o evento OnSetText
procedure TSeuForm.SuDataSetSeuFieldGetText(Sender: TField; const Text: String); begin case text[1] of ´1´:sender.AsString:=´1´; ´2´:sender.AsString:=´2´; ´3´:sender.AsString:=´3´; end; end;
GOSTEI 0