Pesquisar uma String em um DBGrid
Olá pessoal,
Estou procurando uma função que permita pesquisar uma STRING em um DBGRID. Alguém conhece algo?
:shock:
Estou procurando uma função que permita pesquisar uma STRING em um DBGRID. Alguém conhece algo?
:shock:
Baluz
Curtidas 0
Respostas
Tiocassio
19/09/2003
ao invéz de pesquisar na dbgrid, poderia pesquisar direto na table
GOSTEI 0
Baluz
19/09/2003
ao invéz de pesquisar na dbgrid, poderia pesquisar direto na table
Na table (através do like) eu já faço, a questão é que quando a grid é muito grande, o usuário quer ver destacado a string (que pode ser uma palavra ou frase) que ele pesquisou.
GOSTEI 0
Tiocassio
19/09/2003
navegue pela tabela pelo cogido
table.first while not table.eof do begin <comandos>; table.next; end;
GOSTEI 0
Baluz
19/09/2003
Será que você entendeu o meu problema?
Que comandos seriam estes?
Desculpe-me não consegui visualizar.
Que comandos seriam estes?
Desculpe-me não consegui visualizar.
GOSTEI 0
Tiocassio
19/09/2003
você insete um obhjeto table, datasourse e dbgrid, ligue o dbgrid ao datasource, e a datasouce a table
é assim: quando achar no banco de dados, o dbgrid aponta para aquele registro, se não achar então ele mostra uma mensagem.
var s: string; achou: boolean; begin s:=edit.text; table.first achou:=false while (not table.eof)and(not achu) do begin achou:=s=table.fieldbyname(´Campo´).asstring; table.text; end; if not achou then showmessage(´Não encontrado´); end
é assim: quando achar no banco de dados, o dbgrid aponta para aquele registro, se não achar então ele mostra uma mensagem.
GOSTEI 0
Baluz
19/09/2003
Infelizmente, este código não é o que eu quero, pois a seleção e filtro no banco de dados eu já tenho. O que eu preciso é pesquisar no resultado do sql que é apresentado no DBGRID. Um ´find´ como fazemos no excell, por exemplo. No excell, quando as células estão preenchidas com valores, podemos executar um ´LOCALIZAR´ em um valor qualquer, seja string ou número, que o programa, caso encontre o valor pesquisado, pára na célula correspondente. É isto que eu quero fazer no DELPHI. Você conhece alguma forma de fazer isto?
GOSTEI 0
Bclr
19/09/2003
Tente algo do tipo:
No evento OnChange do Edit:
Table1.FindNearest([Edit1.Text]);
Este exemplo considera que o campo seja tipo string. Para outros tipos de campos pode ocorrer erro dependendo dos valores digitados no Edit1.
No evento OnChange do Edit:
Table1.FindNearest([Edit1.Text]);
Este exemplo considera que o campo seja tipo string. Para outros tipos de campos pode ocorrer erro dependendo dos valores digitados no Edit1.
GOSTEI 0