Você está trazendo os dados de algum banco de dados?
Eu uso a seguinte técnica para fazer isso que você quer:
1) Crio um tipo de dados que equivale ao que quero representar
2) Crio uma função que seleciona os dados da tabela (por exemplo o ID e a
Descrição)
3) A saída dessa função é preencher um array (por exemplo) onde cada item do
array é do tipo criado no passo 1
4) Com os dados selecionados, crio uma função que alimenta o ComboBox com os
itens que carreguei no array do item 3
5) No ComboBox faço altero o evento OnSelectItem para buscar o ID do item, com
base na descrição do item, dentro do array que criei.
É claro que dá pra fazer muitas otimizações dentro desse modelo. Se você não
está trabalhando ainda com bancos de dados este acho que é um dos melhores
jeitos de trabalhar.
Dá pra fazer a mesma coisa que fiz, mas usando ClientDataSet. Simplifica bem
mais o processo que passei pois vc usa funções disponíveis no proprio
TClientDataSet ao invés de um tipo específico (criado no passo 1), criar e
preencher um array (passos 2 e 3) e nos passos 4 e 5 você pode fazer uma
alteração significativa, pois pode usar as funções de busca que já existem ao
invés de inventar as suas próprias.
Tanto em um quanto em outro modelo, dá pra achar material bem detalhado no
Google. Basta procurar por ClientDataSet em memória ou ClientDataSet sem banco
de dados.
[]'s
Ricardo.
_
Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!
--- Em sáb, 13/12/08, Rogerio Rios Pessanha rogerio_r...@yahoo.com.br
escreveu:
De: Rogerio Rios Pessanha rogerio_r...@yahoo.com.br
Assunto: [delphi-br] Re: Retornar chave primaria de um combobox
Para: delphi-br@yahoogrupos.com.br
Data: Sábado, 13 de Dezembro de 2008, 8:33
Bom Dia Emanuel.
Bem, o DBLOOKUPCOMBOBOX( DATASOURCE- DATAFIELD- LISTSOURCE- LISTFIELD -
KEYFIELD- ele altera os dados diretamente na tabela , ok ? Ou não ?
Se altera não me serve) eu conheço mas acho que não serve. Deixa eu
tentar explicar :
Eu queria que o usuario selecionasse em 1 combo o nome do aluno e em
outro combo o livro que o aluno pegou. E aí eu queria usar os campos
PK da tabela aluno e livro de acordo com o que foi escolhido nos
combos ( quando eu digo usar os campos PK quero dizer usá-los para
filtragem - filter ou select - ou fazer buscas com findkey por
exemplo). Os alunos não sabem TQUERY-SELECT então passar algo bem
simples as vezes dá mais trabalho do que algo avançado.
--- Em delphi...@yahoogrup os.com.br, Coutinho - Yahoo
emanuelcoutinho@ ... escreveu
Colega...
O componente dbLookupCombo faz isso...
Se vc está fazendo um campo lookup, que na minha opinião é a melhor
pedida, ao arrastar o TField da janelinha de campos da tabela para
o
form, ele já trás um pomponente lookupCombobox, para vc poder
selecionar
pelo nome do do aluno, escrevendo no campo que vc está editando a
matrícula, ou chave primária que está usando na sua tabela.
Você sabe definir um campo lookup na sua tabela?
Sds
Emanuel Couitnho
Rogerio Rios Pessanha escreveu:
Tenho um combobox abastecido com o campo nomealuno. Queria que ao
ser
selecionado algum item desse combo o mesmo me retornasse não o
nome do
aluno mas a CHAVE PRIMARIA da tabela em questão ( campo
ncodaluno).
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com
[As partes desta mensagem que não continham texto foram removidas]