Fórum Filtrar dados da dbgrid #428614
12/11/2012
0
Sei que tem um monte de posts sobre este assunto,
mas sabem que projetos diferentes, não concegui adaptar nenhum para o meu,
tenho um projeto bem simples que criei para isso, para que eu possa entender como funciona,
sabem que usar comandos de pesquisa acaba deixando lento quando tem bastante registros na tabela,
Gostaria entender como funciona os filtros,
tenho uma tabela no sqlserver, conectada ao delphi atraves de um tadoconnection
tem uma adoquery para inserir/deletar/alterar, etc.., onde tem o comando select * from
uso um datasource para exibir os dados da tabela em um dbgrid com o comando select * from
toda essa conexão esta dentro de um data module, o dbgrid no form1 com os botões, tedits, etc..
TEM ALGUMA ROTINA QUE FILTRE ESSES DADOS DO DBGRID QUANDO DIGITO ALGO EM UMA DAS TEDIT, SEM QUE FIQUE LENTO QUANDO TENHO MUITOS DADOS NA TABELA??
Desde ja agradeço muito!!!
Sikineli Strike
Curtir tópico
+ 0Posts
12/11/2012
Luiz Menin
Outra alternativa seria utilizar os filtros do ClientDataSet. Ele é muito rápido pois consulta dados qua já estão em memória.
Gostei + 0
12/11/2012
Luiz Menin
// Se for um valor em STR ClientDataSet1.Filter := 'CAMPO_TABELA = ' + QuotedStr(edtValor.txt); // Se for um valor INT ClientDataSet1.Filter := 'CAMPO_TABELA = ' + IntToStr(edtValor.txt); // Ativa filtro ClientDataSet1.Filtered := True;
Gostei + 0
12/11/2012
Sikineli Strike
// Se for um valor em STR ClientDataSet1.Filter := 'CAMPO_TABELA = ' + QuotedStr(edtValor.txt); // Se for um valor INT ClientDataSet1.Filter := 'CAMPO_TABELA = ' + IntToStr(edtValor.txt); // Ativa filtro ClientDataSet1.Filtered := True;
me desculpe amigo,
mas é o seguinte, coloco essa rotina na tedit, ou em um botão?
se for ele não encontra o dataset, dai tenho que cria-lo?
é pq é bem diferente do vb to bem perdido.
obrigado pela ajuda
Gostei + 0
12/11/2012
Luiz Menin
Pesquise sobre o componente TClientDataSet e adicione ao seu projeto. Ele é muito útil nesses casos.
Gostei + 0
13/11/2012
Luiz Menin
Gostei + 0
14/11/2012
Sikineli Strike
eu estava procurando sobre o dataset,
mas dai baixei o sqlfull2012,
para tentar conectar com o unidac,
mas eu uso o win7, dai quando tento instalar o sql da erro,
"não foi possivel carregar arquivo ou assembly'system.version=4.0.0.0. etc etc etc e tal....."
diretório \appdata\local\microsoft_corporation\landingpage.exe_strongname_rypccglaxmt4nhllj5z3thycltsvyyx\10.0.0.0\userconfig
O .NET Framework 4.0 ta blza ja tentei reparar e nada.
será que concigo uma solução para isso??
Valeu!!
Gostei + 0
14/11/2012
Sikineli Strike
"gato por lebre"kkkkk
é o 2008 r2.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)