Filter não funciona, por que será?

22/03/2006

Olá, estou usando a tabela de memória do JVCL, e não estou conseguindo usar o Filtro, pois bem, enchi a tabela com mais de 100 itens, e estou querendo filtrar assim:

MemTb.Filtered := False;
MemTb.Filter := ´IDCAIXA = ´ + EdtCaixa.Text;
MemTb.Filtered := True;


Não acontece nada... continua exibindo todos os itens... estou fazendo errado? como eu faço isso?

Desde já agradeço

[]s


Titanius

Respostas

22/03/2006

Marco Salles

eu acho que deveria tentar assim :

MemTb.Filtered := False; 
MemTb.Filter := Pchar(´IDCAIXA = ´) + EdtCaixa.Text; 
MemTb.Filtered := True; 


Nos cds funciona assim


Responder Citar

22/03/2006

Thiago Vidal

acho que vc está com problema de aspas...

tente:

MemTb.Filter := ´IDCAIXA = ´ + QuotedStr(EdtCaixa.Text);



Responder Citar

22/03/2006

Massuda

Faz muito tempo que não lido com tabelas em memória nem tenho mexido mais com JVCL, mas pelo que me lembro (perdoem-me se estiver errado), essas tabelas em memória não suportavam ordenação nem filtros, por isso passei a usar o [url=http://www.components4programmers.com/products/kbmmemtable/]kbmMemTable[/url].


Responder Citar

22/03/2006

Titanius

eu acho que deveria tentar assim : Código: MemTb.Filtered := False; MemTb.Filter := Pchar(´IDCAIXA = ´) + EdtCaixa.Text; MemTb.Filtered := True; Nos cds funciona assim


Realmente, no CDS funciona assim...

Faz muito tempo que não lido com tabelas em memória nem tenho mexido mais com JVCL, mas pelo que me lembro (perdoem-me se estiver errado), essas tabelas em memória não suportavam ordenação nem filtros, por isso passei a usar o kbmMemTable.


Realmente, procurei na documentacao, e a Tabela de Memoria do JVCL (originário do RxLib), não suporta isso..


Valeu pessoal... mudei para CDS e ficou numa boa...

[]s


Responder Citar

22/03/2006

Marco Salles

eu acho que deveria tentar assim : Código: MemTb.Filtered := False; MemTb.Filter := Pchar(´IDCAIXA = ´) + EdtCaixa.Text; MemTb.Filtered := True; Nos cds funciona assim


Realmente, no CDS funciona assim...


Isto foi so uma tentativa de te ajudar , pois no cds acho que so isso basta
MemTb.Filtered := False; 
MemTb.Filter :=´IDCAIXA = ´+ EdtCaixa.Text; 
MemTb.Filtered := True; 



Responder Citar

22/03/2006

Titanius

Justamente Marco, vc não deve ter entendido minha resposta. :oops:

Realmente do jeito que você passou está correto, e funciona perfeitamente em CDS, e como o Massuda disse, o JVCL não tem nem ordenação e nem filtro, a minha solução foi mudar pro CDS e usar o seu Código. :wink:

Obrigado,

[]s


Responder Citar