DBComboBox ou ComboBox?

Delphi

21/06/2012

Olá!

Tenho uma tela de consultar produtos onde eu realizo filtros utilizando grupo, subgrupo e fabricante.
Para fazer os filtros estou utilizando combobox para cada um (grupo, subgrupo e fabricante).

Preciso carregar os ComboBox com os respectivos dados toda vez que realizo uma consulta, para não ter que carregar toda a tabela de Gurpo, subgrupo..., para realizar os filtros.
Utilizo o seguinte comando:
...
CarregaSQL;

cbGrupo.Clear;
cbSubGrupo.Clear;
cbFabricante.Clear;
DM.qryProduto.Last;
while not DM.qryProduto.Bof do begin
if cbGrupo.Items.IndexOf(DM.qryProdutogpdesc.AsString) = -1 then
cbGrupo.Items.Add(DM.qryProdutogpdesc.AsString);

if cbSubGrupo.Items.IndexOf(DM.qryProdutosgdesc.AsString) = -1 then
cbSubGrupo.Items.Add(DM.qryProdutosgdesc.AsString);

if cbFabricante.Items.IndexOf(DM.qryProdutofbdesc.AsString) = -1 then
cbFabricante.Items.Add(DM.qryProdutofbdesc.AsString);

DM.qryProduto.Prior;
end;

Mas dessa forma fica lento para carregar os comboboxes quando o retorno são muitos registros.
Tentei utilizar o DBCombobox, seria a melhor opção, mas ele só me lista o registro atual, selecionado, não lista todos os registros para eu escolher para filtrar.

Alguém poderia me dar uma ajuda?
Vagner Almeida

Vagner Almeida

Curtidas 0

Respostas

Bruno Leandro

Bruno Leandro

21/06/2012

tenta usar o componente TDBLookupComboBox e na propriedade ListSource coloque o datasource dos dados que serao exibidos ListField o campo que será exibido.
GOSTEI 0
Vagner Almeida

Vagner Almeida

21/06/2012

Informei somente os campos que você especificou, não funcionou, nem habilita o campo.
GOSTEI 0
Vagner Almeida

Vagner Almeida

21/06/2012

Certo, fiz testes e deu certo. Lista todos dos dados de um campo especifico.

Há algum jeito de dados repetidos não entrar na lista?
Há algum jeito de quando eu estiver selecionando, não ficar passando no grid?
GOSTEI 0
Deivison Melo

Deivison Melo

21/06/2012

Eu particularmente gosto de usar o ComboBox e popular através de um loop nas informações desejadas!

Poste sua dúvida exata da forma que quer que eu ou alguém do fórum poderá ajudar vc!

Abraço e boa sorte em seus códigos!
GOSTEI 0
Vagner Almeida

Vagner Almeida

21/06/2012

Eu particularmente gosto de usar o ComboBox e popular através de um loop nas informações desejadas!

Poste sua dúvida exata da forma que quer que eu ou alguém do fórum poderá ajudar vc!

Abraço e boa sorte em seus códigos!


já fiz isso lá no topo!
GOSTEI 0
POSTAR