Fórum Como preencho DBCombobox com os dados do banco ? #353020
04/02/2008
0
Montei um form e nele tenho 1 DBCombobox que carrega o nome de várias cidades e ao selecionar uma cidade quero mostrar os bairros dela num DBGrid.
Estou usando ClientDataSet e banco Firebird.
Meu primeiro problema é popular o DBCombobox com os dados vindos do ClientDataSet.
Eu gostaria de usar o ClientDataSet pois ele vai me ajudar a trabalhar com outros componentes vinculados ao banco de dados, pois quando o usuário selecionar algum valor no DBCombobox o ClientDataSet vai apontar o restante dos campos do meu form (que depois vou colocar no form) para o registro selecionado.
Agradeço a quem puder ajudar. Obrigado !
Gustavo_marcon
Curtir tópico
+ 0Post mais votado
08/02/2008
Aroldo, eu tenho um DataSource que coloquei na tela que é minha fonte de dados, ou seja é o valor da minha propriedade ListSource, mas não entendi quando vc disse que na propriedade DataSource eu coloco o DS onde deverá aplicar as mudanças. pois eu n quero salvar os dados em lugar nenhum, mas só popular o combo com o valor vindo do meu DataSource.[/quote:8777643455]
Mas vcs entenderam o que eu quis dizer no post acima ???
Eu nao quero colocar os dados de uma tabela pra outra, só quero popular um combo, entao nao entendi o porque de precisar dois DataSources.[/quote:8777643455]
Colega,
Então faça o seguinte:
KeyField -> Campo chave que o componente obtem o valor para atribuir a propriedade KeyValue após a seleção de um item;
ListField -> Campo que será exibido na listagem
ListSource -> Origem dos dados
Aroldo Zanela
Gostei + 1
Mais Posts
04/02/2008
Dbergkamps10
tente assim:
TableCidades.first; while not TableCidades.Eof do begin DbCombox1.Items.add(TableCidadesNome.AsString); tableCidades.next; end;
Espero ter ajudado...
Att
Dalton
Gostei + 0
05/02/2008
Aroldo Zanela
Substitua o dbComboBox por um dbLookUpCombo.
Gostei + 0
06/02/2008
Gustavo_marcon
Ele tem duas propriedades, uma chamada ListSource e outra chamada DataSource , qual devo informar e com o que ?
Eu coloquei na tela um DataSource e este liguei com meu ClientDataSet que está num DataModule, mas não funcionou.
Gostei + 0
06/02/2008
Aroldo Zanela
ListSource - É a fonte de dados;
DataSource - É onde deverá aplicar as mudanças.
Gostei + 0
07/02/2008
Gustavo_marcon
ListSource - É a fonte de dados;
DataSource - É onde deverá aplicar as mudanças.[/quote:2df3c07381]
Aroldo, eu tenho um DataSource que coloquei na tela que é minha fonte de dados, ou seja é o valor da minha propriedade ListSource, mas não entendi quando vc disse que na propriedade DataSource eu coloco o DS onde deverá aplicar as mudanças. pois eu n quero salvar os dados em lugar nenhum, mas só popular o combo com o valor vindo do meu DataSource.
Gostei + 0
07/02/2008
Andepunk
usa um TFlatDBLookupCombo liga uma DataSource nele em events lookupsource carregando todos os clientes em um SQL, depois no form show voce colocar assim: nomedaquery.Open;
qualquer duvida manda aew existem milhoes de componentes em delphi para fazer isso...t+
Gostei + 0
07/02/2008
Onjahyr
Substitua o dbComboBox por um dbLookUpCombo.[/quote:3651074a5a]
Sem complicar, o colega tá mostrando um componente que não vem com o Delphi, esse tal de Flat....
Segui a dica do [b:3651074a5a]Aroldo Zanela[/b:3651074a5a] que vai funcionar, é a mesma coisa só que não é Flat e não precisa procurar componentes de terceiros...
Gostei + 0
07/02/2008
Andepunk
Sem complicar, o colega tá mostrando um componente que não vem com o Delphi, esse tal de Flat....
Segui a dica do [b:942c4d8c8f]Aroldo Zanela[/b:942c4d8c8f] que vai funcionar, é a mesma coisa só que não é Flat e não precisa procurar componentes de terceiros...[/quote:942c4d8c8f]
Sim e o que isso tem a ver... voce nao vai querer ficar a vida toda usando os recursos pobres que o delphi traz neh, fala serio amigo....
Gostei + 0
07/02/2008
Onjahyr
Ok
Gostei + 0
07/02/2008
Gustavo_marcon
Aroldo, eu tenho um DataSource que coloquei na tela que é minha fonte de dados, ou seja é o valor da minha propriedade ListSource, mas não entendi quando vc disse que na propriedade DataSource eu coloco o DS onde deverá aplicar as mudanças. pois eu n quero salvar os dados em lugar nenhum, mas só popular o combo com o valor vindo do meu DataSource.[/quote:a0f0d2c70c]
Mas vcs entenderam o que eu quis dizer no post acima ???
Eu nao quero colocar os dados de uma tabela pra outra, só quero popular um combo, entao nao entendi o porque de precisar dois DataSources.
Gostei + 0
07/02/2008
Onjahyr
[b:92f737d1e6]Para preencher o TComboBox com todos os registros de um campo você lê este artigo:[/b:92f737d1e6]
[url]https://www.devmedia.com.br/articles/viewcomp.asp?comp=2592[/url]
No evento onChange do TComboBox você faz um [b:92f737d1e6]case[/b:92f737d1e6] para chamar na tabela o que deseja, automaticamente vai aparecer no DBGrid (se estiver ligado a tabela)...
Bom, se foi isso que eu entendi.
Blz.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)