DBLookupComboBox
Boa tarde caros colegas,
Novamente recorro à ajuda de vcs do Fórum.
Tenho em um formulário um DBLookupComboBox que exibe as alternativas de uma tabela do meu sistema, por exemplo: INATIVO, INICIANTE, INTERMEDIÁRIO, EXPERIENTE, RESERVA (estas são as alternativas que aparecerão dentro do DbLookupComboBox).
Quando o curso chega nesse campo, eu geralmente digito a primeira letra da oção que desejo, por exemplo letra ´I´. A caixa mostra a primeira ocorrência que neste caso é INATIVO. Quando eu pressiono I novamente, ao invés de ser mostrado o próximo item com I, que seria INICIANTE, ele assume a digitação de II.
Resumindo, só quero que ele exiba e circule de acorodo com as alternativas que estejam cadastrasdas. Se por acaso, a letra I for digitada insisitentemente, a caixa exibirá somente: INATIVO, INICIANTE e INTERMEDIÁRIO.
Certo da ajuda de vcs, antecipadamente agradeço.
Novamente recorro à ajuda de vcs do Fórum.
Tenho em um formulário um DBLookupComboBox que exibe as alternativas de uma tabela do meu sistema, por exemplo: INATIVO, INICIANTE, INTERMEDIÁRIO, EXPERIENTE, RESERVA (estas são as alternativas que aparecerão dentro do DbLookupComboBox).
Quando o curso chega nesse campo, eu geralmente digito a primeira letra da oção que desejo, por exemplo letra ´I´. A caixa mostra a primeira ocorrência que neste caso é INATIVO. Quando eu pressiono I novamente, ao invés de ser mostrado o próximo item com I, que seria INICIANTE, ele assume a digitação de II.
Resumindo, só quero que ele exiba e circule de acorodo com as alternativas que estejam cadastrasdas. Se por acaso, a letra I for digitada insisitentemente, a caixa exibirá somente: INATIVO, INICIANTE e INTERMEDIÁRIO.
Certo da ajuda de vcs, antecipadamente agradeço.
Pro-luck
Curtidas 0
Respostas
Pestana_
15/08/2007
o que eu sei este componente não faz este tipo de pesquisa, o DBLookupComboBox utiliza a forma incremental de pesquisa.
eu nunca fiz isso, mas acho que você tem que construir uma rotina com este tipo de pesquisa que você quer.
flw.
eu nunca fiz isso, mas acho que você tem que construir uma rotina com este tipo de pesquisa que você quer.
flw.
GOSTEI 0
Rvmprogramador
15/08/2007
O DBLookupComboBox em si não possui tal recurso, como o colega anterior mensionou, vc terá que criar uma rotina que ao pressionar a tecla, apareçerão no DBLookupComboBox somente os ítens com a letra da tecla pressionada. Acredito que poderá fazer isto no evento OnKeyPress do DBLookupComboBox. Espero ter ajudado!
GOSTEI 0
Pro-luck
15/08/2007
E vc tem ideia de como ficaria este código?
O DBLookupComboBox em si não possui tal recurso, como o colega anterior mensionou, vc terá que criar uma rotina que ao pressionar a tecla, apareçerão no DBLookupComboBox somente os ítens com a letra da tecla pressionada. Acredito que poderá fazer isto no evento OnKeyPress do DBLookupComboBox. Espero ter ajudado!
GOSTEI 0
Pro-luck
15/08/2007
Sobe
GOSTEI 0
Pro-luck
15/08/2007
SOBE
GOSTEI 0
Pro-luck
15/08/2007
Gente, o que eu quero fazer é o que é feito em qualquer formulário que se preencha na Internet.
Eu me recuso a acreditar que o Delphi não tenha algo assim.
Continuo contando com o apoio de vcs.
Um forte abraço e fiquem com Deus.
Eu me recuso a acreditar que o Delphi não tenha algo assim.
Continuo contando com o apoio de vcs.
Um forte abraço e fiquem com Deus.
GOSTEI 0
Pro-luck
15/08/2007
SOBE
(Pessoal, por favor, dê uma olhada no site: www.participeja.com.br e vejam no formulário de cadastro de Estado, o que eu desejo fazer. Experimentem fazer como no exemplo que citei anteriorme, pressionando a letra P. As únicas alternativas mostradas serão: PA, PB, PE, PI e PR.)
Conto com o apoio de vcs para conseguir fazer isso com o Delphi tb.
Um forte abraço a todos e fiquem com Deus.
(Pessoal, por favor, dê uma olhada no site: www.participeja.com.br e vejam no formulário de cadastro de Estado, o que eu desejo fazer. Experimentem fazer como no exemplo que citei anteriorme, pressionando a letra P. As únicas alternativas mostradas serão: PA, PB, PE, PI e PR.)
Conto com o apoio de vcs para conseguir fazer isso com o Delphi tb.
Um forte abraço a todos e fiquem com Deus.
GOSTEI 0
Pro-luck
15/08/2007
SOBE...
GOSTEI 0
Rvmprogramador
15/08/2007
Olá Pro-Luck.
Estive verificando o site que vc mensionou, agora compreendi o que vc deseja fazer no DBLookup. Eu, e acho q também os outros que tentaram te ajudar, tinha entendido que era para ficar disponível no DBLookup somente os ítens com a letra pessionada. O que vc quer é que apareça selecionado alternadamente no DBLookup os ítens com a letra pessionada, tipo se ficar segurando a letra ´R´ num DBLookup de estados brasileiros, apareçer somente os estados com a letra ´R´. Sinceramente falando não vejo muita utilidade em fazer isto num formulário criado por Delphi, mas de qualquer maneira vou estudar mais o DBLookupComboBox para ver se tem como fazer tal funcionalidade e se descobrir algo posto no forum.
Estive verificando o site que vc mensionou, agora compreendi o que vc deseja fazer no DBLookup. Eu, e acho q também os outros que tentaram te ajudar, tinha entendido que era para ficar disponível no DBLookup somente os ítens com a letra pessionada. O que vc quer é que apareça selecionado alternadamente no DBLookup os ítens com a letra pessionada, tipo se ficar segurando a letra ´R´ num DBLookup de estados brasileiros, apareçer somente os estados com a letra ´R´. Sinceramente falando não vejo muita utilidade em fazer isto num formulário criado por Delphi, mas de qualquer maneira vou estudar mais o DBLookupComboBox para ver se tem como fazer tal funcionalidade e se descobrir algo posto no forum.
GOSTEI 0
Rvmprogramador
15/08/2007
Olá amigo.
Fiz alguns testes e descobri que o TComboBox funciona exatamente como vc gostaria que o TDBLookupComboBox funcionasse. Você fica segurando uma tela e o combo vai percorrendo somente os ítens da letra pessionada. Para fazer o TComboBox funcionar como se fosse um TDBLookupComboBox você precisa carregar os dados manualmente nele, fazendo um laço while na query que alimenta o lookup.
Exemplo:
Query1.Close;
Query1.Open;
ComboBox1.Clear;
Query1.First;
while (not Query1.Eof)
do begin
ComboBox1.Items.Add(Query1NOME.AsString);
Query1.Next;
end;
Espero que esta alternativa resolva sua dificuldade. Um abraço.
Fiz alguns testes e descobri que o TComboBox funciona exatamente como vc gostaria que o TDBLookupComboBox funcionasse. Você fica segurando uma tela e o combo vai percorrendo somente os ítens da letra pessionada. Para fazer o TComboBox funcionar como se fosse um TDBLookupComboBox você precisa carregar os dados manualmente nele, fazendo um laço while na query que alimenta o lookup.
Exemplo:
Query1.Close;
Query1.Open;
ComboBox1.Clear;
Query1.First;
while (not Query1.Eof)
do begin
ComboBox1.Items.Add(Query1NOME.AsString);
Query1.Next;
end;
Espero que esta alternativa resolva sua dificuldade. Um abraço.
GOSTEI 0
Martins
15/08/2007
Olá amigo.
Fiz alguns testes e descobri que o TComboBox funciona exatamente como vc gostaria que o TDBLookupComboBox funcionasse. Você fica segurando uma tela e o combo vai percorrendo somente os ítens da letra pessionada. Para fazer o TComboBox funcionar como se fosse um TDBLookupComboBox você precisa carregar os dados manualmente nele, fazendo um laço while na query que alimenta o lookup.
Exemplo:
Query1.Close;
Query1.Open;
ComboBox1.Clear;
Query1.First;
while (not Query1.Eof)
do begin
ComboBox1.Items.Add(Query1NOME.AsString);
Query1.Next;
end;
Espero que esta alternativa resolva sua dificuldade. Um abraço.
vc pode usar a dica do colega q funciona ou pode criar um componente se pretende usar essa funcionalidade mais vezes, assim vc teria um componente para usar nos demais projetos.
abraço.
GOSTEI 0