Fórum Varrer ClientDataSet #333503
22/11/2006
0
Gostaria de saber se é possível percorrer um dbgrid sem que o usuario perceba esta operação.
Exemplo:
preciso localizar dentro de um dbgrid um registro que atenda determinada condição, irei percorrer até encontrá-lo, mas enquanto isto o usuário percebe o que esta ocorrendo.
Gostaria que isto não ocorresse. É possível?
Abraços
Rodolfo
Rodolfo.pirolo
Curtir tópico
+ 0Posts
22/11/2006
Marcio.theis
qryTeste.DisableControls; qryTeste.First; while not qryTeste.Eof begin //Validações qryTeste.Next; end; qryTeste.First; qryTeste.EnableControls;
Os comandos devem de estar todos certos.... :lol:
Gostei + 0
22/11/2006
Rodolfo.pirolo
Resolveu o meu problema, muito obrigado pela dica.
Abraços
Rodolfo
Gostei + 0
22/11/2006
Marcio.theis
Valew... 8)
Gostei + 0
23/11/2006
Brunolspp
ou usar o metodo setkey, mas para este, vc deve criar um indicedinamico no cds, estou falando isso pq ja tive q lidar com uma gama de dados mto grande e fazer a operação ficar rapido, e no setkey foi a solução.. ficou mto rapido mesmo..
abração
Gostei + 0
23/11/2006
Titanius
[]s
Gostei + 0
24/11/2006
Marco Salles
Porém os dois comparados ao metodo locate , podem trazer siginificativa melhora em termos de performace.. Ja que o método Locate , por não exigir um indice , efetua uma pesquisa sequencial e não otimizada..
Por outro lado , quando se tem um indice , o método Locate [b:a3d9602fe4]o utilizara [/b:a3d9602fe4]e a pesquisa sera mais rápida....
No fim , teoria é teoria e prática é prática
Gostei + 0
24/11/2006
Brunolspp
no meu dia a dia ele é o mais rapido de todos os recursos.
na minha pagina de downloads no exemplo do borcon deste ano com certeza vc acha uma função para criar indices dinamicamente no clientdataset, principalmente no evento titleclick dos dbgrids.
eis o link: http://cc.borland.com/Author.aspx?ID=795118
Abração
Gostei + 0
24/11/2006
Marco Salles
Assim o algoritimo seria:
Sinceramente é uma surpresa para mim o uso do SetKey com o FindKey
Gostei + 0
25/11/2006
Andrew
Assim o algoritimo seria:
Sinceramente é uma surpresa para mim o uso do SetKey com o FindKey[/quote:c9b61aa92f]
Marco Salles, vc quer dizer que se houver um índice na tabela o LOCATE ficará masi rápido? Fica tanto quanto FindKey?
Gostei + 0
25/11/2006
Marco Salles
eu quero dizer , é o que eu ja li sobre o assunto ,´é que se estiver um indice , a pesquisa usando o locate sera mais rápida quando comparada a uma pesquisa usando o proprio Locate nun campo que não é indice... Porque automaticamente o metodo Locate usara o indice
Nas biografias , pelo menos ate agora , não existe uma comparação [b:b33cfe7be6]entre campos com indice[/b:b33cfe7be6] , pesquisado pelo Locate , pelo FindKey ou pelo GotoKey usando SetKey Para Preparar , no quesito rapidez.. Vale é a prática de cada um ao se depara com eventuais situaçoes especiais.
O que todas biografias são unanimes em afirmar que a pesquisa com Locate em campos que[b:b33cfe7be6] não são indices [/b:b33cfe7be6]são mais lentas porque são feitas de modo sequencial...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)