Fórum Pesquisar uma String em um DBGrid #182989

19/09/2003

0

Olá pessoal,
Estou procurando uma função que permita pesquisar uma STRING em um DBGRID. Alguém conhece algo?
:shock:


Baluz

Baluz

Responder

Posts

19/09/2003

Tiocassio

ao invéz de pesquisar na dbgrid, poderia pesquisar direto na table


Responder

Gostei + 0

19/09/2003

Baluz

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.


Responder

Gostei + 0

19/09/2003

Tiocassio

navegue pela tabela pelo cogido

table.first
while not table.eof do begin
   <comandos>;
   table.next;
end;



Responder

Gostei + 0

19/09/2003

Baluz

Será que você entendeu o meu problema?

Que comandos seriam estes?

Desculpe-me não consegui visualizar.


Responder

Gostei + 0

19/09/2003

Tiocassio

você insete um obhjeto table, datasourse e dbgrid, ligue o dbgrid ao datasource, e a datasouce a table

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.


Responder

Gostei + 0

24/09/2003

Baluz

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?


Responder

Gostei + 0

23/10/2003

Bclr

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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar