Filter não funciona, por que será?

22/03/2006

0

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

Titanius

Responder

Posts

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

22/03/2006

Thiago Vidal

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

tente:

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



Responder

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

22/03/2006

Titanius

[quote=Marco_Sales]
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...

[quoted=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 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

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

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

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar