GARANTIR DESCONTO

Fórum Localizar e selecionar linha do DBGrid #270316

27/02/2005

0

como faço para localizar uma informação em uma determinada coluna do DBGrid e selecionar a linha que está o valor?
Mas quero localizar os valores na propria DBGrid e não no DataSet. O motivo é que utilizei o metodo Locate e enquanto a tabela é varrida o cursor fica piscando e causando umpouco de refresh na tela.


Raserafim

Raserafim

Responder

Posts

27/02/2005

Bon Jovi

Tente com DisableControls:

  ClientDataSet1.DisableControls;
  try
    ClientDataSet1.Locate(´x´, ´x´, []);
  finally
    ClientDataSet1.EnableControls;
  end;



Responder

Gostei + 0

27/02/2005

Massuda

... O motivo é que utilizei o metodo Locate e enquanto a tabela é varrida o cursor fica piscando e causando umpouco de refresh na tela.
Já experimentou usar os métodos DisableControls/EnableControls do dataset que alimenta o grid para evitar que o conteúdo do grid seja atualizado durante o Locate do dataset?


Responder

Gostei + 0

28/02/2005

Raserafim

DisableControls e EnableControls não resolveu o meu problema. pois tenho uma outra consulta que recebe um novo parâmetro sempre que esta consulta muda de registro. Então o método locate está percorrendo toda a tabela o que faz disparar este evento em cada linha.
Agora estou também com um outro questionamento que pode até ajudar a resolver o problema: o método locate pega o índice caso tenha. A coluna que estou usando tem índice pois é uma chave primária, portanto uma pesquisa com índices não deveria percorer registro por registro, certo? mas estou usando o firebird (e o componente de acesso MDO) e se não estou enganado o Locate é um método da BDE certo? será que isso está fazendo com que não utilize o índice?
Qual outro método de busca pode utilizar meus índices?


Responder

Gostei + 0

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

Aceitar