Alimentar ComboBox
Olá pessoal,
Estou estudando Delphi, e quero fazer o seguinte:
- No meu BD, o estado precisa ser gravado no formato RS, SC, PR, SP, RJ, etc...
- Mas no meu ComboBox quero exibir o nome dos estados, exemplo: Rio Grande do Sul, Santa Catarina, Paraná, São Paulo, Rio de Janeiro, etc...
Como faço isso?
Tentei CBestado.Items.AddObject('Rio Grande do Sul', TObject('RS')) mas no lugar do RS só aceita inteiros...
Alguém pode mandar um exemplo de como faço para vincular isso?
Abs
Estou estudando Delphi, e quero fazer o seguinte:
- No meu BD, o estado precisa ser gravado no formato RS, SC, PR, SP, RJ, etc...
- Mas no meu ComboBox quero exibir o nome dos estados, exemplo: Rio Grande do Sul, Santa Catarina, Paraná, São Paulo, Rio de Janeiro, etc...
Como faço isso?
Tentei CBestado.Items.AddObject('Rio Grande do Sul', TObject('RS')) mas no lugar do RS só aceita inteiros...
Alguém pode mandar um exemplo de como faço para vincular isso?
Abs
Ale Scherer
Curtidas 0
Respostas
Leandro Chiodini
06/01/2014
Bom dia,
Nao consigo te passar um exemplo agora,
mais da uma pesquisadinha sobre
DBcombobox
que faz o link direto com teu banco de dados.
att.
Chiodini
Nao consigo te passar um exemplo agora,
mais da uma pesquisadinha sobre
DBcombobox
que faz o link direto com teu banco de dados.
att.
Chiodini
GOSTEI 0
Douglas
06/01/2014
Ale Scherer, não consegui compreender muito bem a sua necessidade.
Poderia ir direto ao ponto, para que eu possa ajuda-lo.
Poderia ir direto ao ponto, para que eu possa ajuda-lo.
GOSTEI 0
Ale Scherer
06/01/2014
Boa tarde Douglas,
Imagine a seguinte situação:
- Tenho um ComboBox e um botão.
- Quero que para o usuário apareça a listagem de estados, exemplo: Rio Grande do Sul, Santa Catarina, Paraná, São Paulo, etc...
- Mas ao clicar no botão quero que o sistema mostre sigla do estado que o usuário escolheu, exemplo: RS, SC, PR, SP
Consegui explicar melhor?
Abs
Imagine a seguinte situação:
- Tenho um ComboBox e um botão.
- Quero que para o usuário apareça a listagem de estados, exemplo: Rio Grande do Sul, Santa Catarina, Paraná, São Paulo, etc...
- Mas ao clicar no botão quero que o sistema mostre sigla do estado que o usuário escolheu, exemplo: RS, SC, PR, SP
Consegui explicar melhor?
Abs
GOSTEI 0
Leandro Chiodini
06/01/2014
Opa
Chegasse a Ler sobre o DBcomboBox,
Assim voce coloca o que quiser para o usuario,
sendo uma coluna da base.
Att,
Chiodini
Chegasse a Ler sobre o DBcomboBox,
Assim voce coloca o que quiser para o usuario,
sendo uma coluna da base.
Att,
Chiodini
GOSTEI 0
Ale Scherer
06/01/2014
Leandro, vou ver agora... Logo posto se consegui ou nao
GOSTEI 0
Douglas
06/01/2014
Boa tarde Douglas,
Imagine a seguinte situação:
- Tenho um ComboBox e um botão.
- Quero que para o usuário apareça a listagem de estados, exemplo: Rio Grande do Sul, Santa Catarina, Paraná, São Paulo, etc...
- Mas ao clicar no botão quero que o sistema mostre sigla do estado que o usuário escolheu, exemplo: RS, SC, PR, SP
Consegui explicar melhor?
Abs
Imagine a seguinte situação:
- Tenho um ComboBox e um botão.
- Quero que para o usuário apareça a listagem de estados, exemplo: Rio Grande do Sul, Santa Catarina, Paraná, São Paulo, etc...
- Mas ao clicar no botão quero que o sistema mostre sigla do estado que o usuário escolheu, exemplo: RS, SC, PR, SP
Consegui explicar melhor?
Abs
Ale Scherer, agora entendi. Você pode fazer da seguinte forma, Selecione o seu comobox e vá na propriedade items, cadastre todos os estados
Após este procedimento, no seu botão programe o seguinte código abaixo.
procedure TForm1.Button1Click(Sender: TObject);
begin
case ComboBox1.ItemIndex of
0 : ComboBox1.Text := 'RJ';
1 : ComboBox1.Text := 'SP';
2 : ComboBox1.Text := 'RS';
3 : ComboBox1.Text := 'SC';
// E ASSIM POR DIANTE, TEM QUE SER DE ACORDO COM A LISTA QUE VOCE INSERIU
// NA PROPRIEDADE ITEMS DO SEU COMBOBOX.
end;
end;
Espero ter entendido sua necessidade. Aguardo o seu feedback.
GOSTEI 0
Ale Scherer
06/01/2014
Douglas, é mais ou menos isso...
Gostaria que ficasse assim:
procedure TForm1.Button1Click(Sender: TObject);
begin
case ComboBox1.ItemIndex of
'RJ' : ComboBox1.Text := 'Rio de Janeiro';
'SP' : ComboBox1.Text := 'São Paulo';
'RS' : ComboBox1.Text := 'Rio Grande do Sul';
'SC' : ComboBox1.Text := 'Santa Catarina';
// E ASSIM POR DIANTE, TEM QUE SER DE ACORDO COM A LISTA QUE VOCE INSERIU
// NA PROPRIEDADE ITEMS DO SEU COMBOBOX.
end;
end;
Ou será que vou ter que instalar algum componente p/ conseguir fazer isso?
Gostaria que ficasse assim:
procedure TForm1.Button1Click(Sender: TObject);
begin
case ComboBox1.ItemIndex of
'RJ' : ComboBox1.Text := 'Rio de Janeiro';
'SP' : ComboBox1.Text := 'São Paulo';
'RS' : ComboBox1.Text := 'Rio Grande do Sul';
'SC' : ComboBox1.Text := 'Santa Catarina';
// E ASSIM POR DIANTE, TEM QUE SER DE ACORDO COM A LISTA QUE VOCE INSERIU
// NA PROPRIEDADE ITEMS DO SEU COMBOBOX.
end;
end;
Ou será que vou ter que instalar algum componente p/ conseguir fazer isso?
GOSTEI 0
Douglas
06/01/2014
Douglas, é mais ou menos isso...
Gostaria que ficasse assim:
procedure TForm1.Button1Click(Sender: TObject);
begin
case ComboBox1.ItemIndex of
'RJ' : ComboBox1.Text := 'Rio de Janeiro';
'SP' : ComboBox1.Text := 'São Paulo';
'RS' : ComboBox1.Text := 'Rio Grande do Sul';
'SC' : ComboBox1.Text := 'Santa Catarina';
// E ASSIM POR DIANTE, TEM QUE SER DE ACORDO COM A LISTA QUE VOCE INSERIU
// NA PROPRIEDADE ITEMS DO SEU COMBOBOX.
end;
end;
Ou será que vou ter que instalar algum componente p/ conseguir fazer isso?
Gostaria que ficasse assim:
procedure TForm1.Button1Click(Sender: TObject);
begin
case ComboBox1.ItemIndex of
'RJ' : ComboBox1.Text := 'Rio de Janeiro';
'SP' : ComboBox1.Text := 'São Paulo';
'RS' : ComboBox1.Text := 'Rio Grande do Sul';
'SC' : ComboBox1.Text := 'Santa Catarina';
// E ASSIM POR DIANTE, TEM QUE SER DE ACORDO COM A LISTA QUE VOCE INSERIU
// NA PROPRIEDADE ITEMS DO SEU COMBOBOX.
end;
end;
Ou será que vou ter que instalar algum componente p/ conseguir fazer isso?
Ale Scherer, a numeração dentro do case identifica a posição do item atual marcado no combobox e além disso o case só admite valores do tipo inteiro. O mais
fácil é você só colocar ao contrário a forma que te expliquei anteriormente. Cadastre todas as siglas na propriedades items do combobox e coloque de acordo
com a ordem que você cadastrou.
procedure TForm1.Button1Click(Sender: TObject);
begin
case ComboBox1.ItemIndex of
0 : ComboBox1.Text := 'Rio de Janeiro';
1 : ComboBox1.Text := 'São Paulo';
2 : ComboBox1.Text := 'Rio Grande do Sul';
3 : ComboBox1.Text := 'Santa Catarina';
// E ASSIM POR DIANTE, TEM QUE SER DE ACORDO COM A LISTA QUE VOCE INSERIU
// NA PROPRIEDADE ITEMS DO SEU COMBOBOX.
end;
end;
GOSTEI 0
Alan Souza
06/01/2014
dá para adicionar pelo AddObjects sim, só é necessário utilizar um typecast:
para recuperar o objeto como a sua sigla:
apesar que a solução com componentes de conexão com o banco de dados seja mais elegante.
CBestado.Items.AddObject('Rio Grande do Sul', TObject(PChar('RS')));
para recuperar o objeto como a sua sigla:
PChar(CBestado.Items.Objects[CBestado.ItemIndex]);
apesar que a solução com componentes de conexão com o banco de dados seja mais elegante.
GOSTEI 0
Ale Scherer
06/01/2014
Alanps,
É isso mesmo que eu quero...
Vou testar, qualquer coisa posto aqui...
Abs
É isso mesmo que eu quero...
Vou testar, qualquer coisa posto aqui...
Abs
GOSTEI 0
Deivison Melo
06/01/2014
Finalizando o tópico!!
GOSTEI 0