I sent all sources to Antonio upload on downlist folder
Tfilter class
FileManager
and two samples
It is easy to undestand it .
oFilter:= TFilter():New(aCampos,aTitulos,aTipos, cDbf,oGrid,lNew,cSection)
oFilter:Dialog()
oFilter:Activate()
cFilter := oFilter:SetFilter()
IF ! Empty( cFilter)
SET FILTER TO &cFilter
(cDbf)->( dbGoTop() )
oGrid:refresh()
Endif