Fórum Indexar item no combo pelo texto #518405
30/04/2015
0
estou com um seguinte problema:
tenho um combobox com itens pré estabelecidos, (estados do brasil) e cada novo registro, um item do combobox é gravado na base de dados.
até ai tudo bem, a informação é gravada normalmente.
o problema é quando abro tal registro da base de dados e tento indexar o item no combo através da informação que foi gravada na base de dados.
eu preciso mostrar a informação que esta na base de dados no text do combo, lembrando a propriedade style esta como csOwnerDrawFixed.
agradeço se alguém me ajudar.
Rogério Zek
Curtir tópico
+ 0Posts
30/04/2015
Thiago Santana
Acho que em termos de modelagem seu sistema estaria melhor projetado!
Mas vamos lá:
ComboBox1.Items.IndexOf(´seu texto´);
Vê se isso funciona!
Espero ter ajudado
Gostei + 0
05/06/2015
Rogério Zek
Em relação a modelagem concordo com você amigo, mas o problema é mostrar a informação no combo.
vamos lá, no combo eu pré defini os itens com as siglas dos estados para que o usuário escolha somente entre aquelas siglas.
a, para que o usuário não entre com um valor diferente dos que eu pré defini eu setei a propriedade "style" do combo para "csOwnerDrawFixed", eu acredito que o problema esteja ai, pois com a propriedade setada para csDropDown funciona normalmente com o código que você postou acima.
ainda não consegue resolver o problema.
Grato e até mais.
Gostei + 0
05/06/2015
Alexsandro
Gostei + 0
05/06/2015
Rogério Zek
Valeu Alexsandro, mas o problema persiste, rsrs.
Gostei + 0
05/06/2015
Alexsandro
no evento onshow do form, colocaria o seguinte código:
if suatabelaSeucampo.value = 'valor' then
begin
combobox.text := suatabelaSeucampo.value;
end;
Exemplo:
imagine que tenha uma tabela de aluno e nessa tabela tenha o campo situacao.
agora no formulário no evento onshow teria o código:
if tabelasituacao.value = 'Aprovado' then
begin
combobox1.text := tabelasituacao.value;
end
else if tabelasituacao.value = 'Reavalição' then
begin
combobox1.text := tabelasituacao.value;
end
else
begin
combobox1.text := tabelasituacao.value;
end;
Gostei + 0
05/06/2015
Ricardo Araujo
primeiro criar uma variável de retorno da função com combobox.
var
Num : integer;
begin
//agora vamos ao código abaixo, para receber os dados que estará vindo do banco de dados que seria o campo estado.
Num := ComboBox1.Items.IndexOf('PE') ; // neste campo aonde esta escrito (PE) seria o coluna com banco de dados.
ComboBox1.ItemIndex := Num;
end;
caro amigo espero ter ajudando, qualquer coisa segue email: rbbarreto@hotmail.com
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)