Paulo, deste jeito para cada letra digitada o sistema fará uma nova consulta no 
banco de dados. Imagina isto em produção, ficará muito lento e completamente 
inviável para se trabalhar.

Eu costumo pedir critérios para a seleção dos dados, aí se o usuário quiser 
pesquisar algo nos dados que estão localmente em cache, faço a pesquisa letra 
por letra como você, porém, crio um índice no próprio ClientDataSet e faço a 
pesquisa local, sem fazer novas consultas no banco de dados.

Para resolver o problema do grid ficar em movimento, utilize DisableControls do 
DataSet vinculado ao grid.

Eli

--- Em delphi-br@yahoogrupos.com.br, "pcedisi" <pced...@...> escreveu
>
> Ola!
> 
> Por favor, preciso de ajuda com DBGrid!
> 
> Tenho um DBGrid de clientes e uso onChange para fazer pesquisa
> a cada letra digitada, o problema é que ele redimensiona a cada
> busca alem de redesenhar o DBGrid gerando um efeito de piscar
> a cada letra digitada. Alguem pode ajudar? Isso que estou fazendo
> é o certo?
> 
> 
> procedure TfrmClientes.edtPesquisaChange(Sender: TObject);
> begin
> dmcli.qryClientes.Close;
> dmcli.qryClientes.Params[0].AsString := Trim(edtPesquisa.Text);
> dmcli.qryClientes.Open;
> end;
> 
> 
> obrigado,
> 
> Paulo
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a