Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kklj

isso é feito com o edit?

Recommended Posts

gostaria de saber como faço para escrever num campo edit, por exemplo, e ir fazendo uma busca no meu bd. por exemplo, tenho um produto com o nome mesa de escritorio, e qdo estiver escrevendo a letra M, por exemplo e aperta a seta do teclado para baixo ou uma outra maneira qq, me mostrar todos os registro q comecam com a letra M, e se eu colocar mesa, aparecer todos os registros q comecam com a palavra mesa. isso é feito com um edit?

 

alguem sabe me dar uma dica de como fazer isso?

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que pode sim, cada vez que o cara digitar um letra no edit, verifica e carrega uma lista abaixo do edit e exibe ela...

 

ou pode fazer com um combobox....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite KKlj.

 

Sim, isto pode ser feito, aliás deve ser feito com um componente TEdit.

 

O Componente TEdit tem um evento chamado OnKeyPress, e ele é disparado toda vez que voce digita uma Tecla.

 

Selecione o seu componente TEdit, vá no Object Inspector e na aba Events, selecione o OnKeyPress e dê dois clicks na parte blanca do mesmo, voce verá o esqueleto da procedure montado, ai é só codificar dentro do bloco begin...end, assim:

 

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
 begin
	with Query1 do begin
		 Close;
		 SQL.Clear;
		 SQL.Add('Select * From NomeTabela Where NomeCliente Like :Param');
		 ParamByName('Param').Value := Edit1.Text + '%";
		 Open;
	end;
 end;

Repare que voce só irá conseguir isto com um componente Query, isto pois somente a Query é que tem possibilidade de editar instruções SQL, este componente Query tem que está ligado ao DataSource que está ligado ao seu DBGrid.

 

Por que instrução SQL ? Porque a filtragem é mais rápida, se voce tiver uma tabela com 200.000 registros ou mais, com SQL demora aproximadamente uns 10 segundos, já com outro tipo de filtro pode demorar mais.

 

Presumi que voce esteja digitando o nome do Cliente para filtrar por nome do Cliente, porém pode ser o campo que quiser, bastando trocar o campo na instrução SQL.

 

Um Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.