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

Auto completar


Lube

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 0
como fazer um auto completar em um edit ou dbedit(melhor) igual ao do Internet Explorer?

q ele abre e já mostra as opções já cadastradas conforme o q for digitado.

Um exemplo:

procedure TFAtesta.DBEdit1Change(Sender: TObject);
begin
         AtestaX_IB.Open;
         AtestaX_IB.First;

         if AtestaX_IB.Locate('EMPRESA',trim(DBEdit1.text),[loPartialKey]) then
            begin
               DBLookupComboBox1.KeyValue := trim(DBEdit1.text);
               //achei := 1;
            end
         else
            //achei := 0;
    
end;

OBS: conforme voce vai digitando, ele irá buscando o primeiro registro que contenha a sequencia de caracteres digitados.

voce deve modificar este codigo para seu uso.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Obrigada Jhonas, vou testar e digo se isso que quero mesmo

valeuuu

Oi Jhonas, seguinte, eu to tentando colocar esse codigo e usar o lookup como você sugeriu...só q eu quero usar da seguint maneira:

o lookup vai servir apenas para consulta, e não para gravar no banco, ele vai ficar atras do dbedit, e vai abrir e mostrar o texto conforme for achando na consulta. Dae o usuário escolhe o texto gravado se quiser e faz as alteracoes necessarias no dbedit, que serah gravado no banco.

só q o problema estah nas propriedades do lookup, tem q ter o dataset e o datafield preenchidos para gravação não tem? tentei deixar em branco mas ele fica desabilitado... onde eu coloco a consulta? seria em listsource?

:blush:

Link para o comentário
Compartilhar em outros sites

  • 0
só q o problema estah nas propriedades do lookup, tem q ter o dataset e o datafield preenchidos para gravação não tem? tentei deixar em branco mas ele fica desabilitado... onde eu coloco a consulta? seria em listsource?

voce pode colocar o comando em um Edit, já que ele será usado apenas para consulta.

exemplo:

procedure TFAtesta.Edit1Change(Sender: TObject);
begin
         AtestaX_IB.Open;
         AtestaX_IB.First;

         if AtestaX_IB.Locate('EMPRESA',trim(Edit1.text),[loPartialKey]) then
            begin
               // comandos se o registro for localizado
            end
         else
            begin
               // comandos se o registro não for localizado 
            end;  
end;

abraço

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...