Ir para conteúdo
Fórum Script Brasil
  • 0

Autocompletar Comobox


Carlos Rocha

Pergunta

Ola, to usando esse codigo pra autocompletar uma comobox:

procedure TFormCadastros.ComboBoxLocadorChange(Sender: TObject);
begin
SQLQueryClientes.Close;
SQLQueryClientes.SQL.Clear;
SQLQueryClientes.SQL.Add('Select * From Clientes');
SQLQueryClientes.Open;

SQLQueryClientes.First;
while not SQLQueryClientes.EOF do
begin
ComboBoxLocador.Items.Add(VarToStr(SQLQueryClientes.Fields[1].value));
SQLQueryClientes.Next;
end;
end;

Porem se tiverem os nomes na tabela gravados.

Carla

Carlito

Carlos

E eu digitar na comobox Carl

A comobox completa com o primeiro nome Carla.

Mas, se eu continuar e digitar a proxima letra i, Carli, ele passa pro proximo nome Carlito e ta certo.

Porem se eu voltar uma letra e apagar o i voltando pro Carl, ele mantem o Carl e não completa o Carla que é o primeiro nome.

Como fazer isso?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá,

Eu uso esse código num Edit, mas é só adaptá-lo.

var Aux : integer;

begin
// Estou copiando somente o conteudo até a posição do cursor.
// Note os parametros do locate. 
if Query.Locate('Fornecedor',copy(EditFornecedor.Text,1,EditFornecedor.SelStart),[loCaseInsensitive,loPartialKey]) then
 begin
 EditFornecedor.OnChange := nil; // Não queremos ativar o evento agora.
 Aux := EditFornecedor.SelStart; // Posição do cursor no editFornecedor
 EditFornecedor.Text := Query.FieldByName('Fornecedor').AsString; // Foi o que encontramos pois o codigo só passa por aqui se existe a informação
 EditFornecedor.SelStart := Aux; // Atualizamos a posição do cursor.
 EditFornecedor.OnChange := EditFornecedorChange; // Agora podemos chamar novamente.
 end;
 Query.Close;
end;

Abs.

Kiko

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...