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] >