Page 1 of 1

TSBrowse y SET FILTER

Posted: Mon Nov 07, 2005 1:31 am
by César E. Lozada
O yo no entiendo bien,o TSBrowse no está diseñado para funcionar con filtros, aunque sin con scopes sobre indices. Después de trabajar un poco logré que me funcionara bien, haciendo los siguientes cambios:

Agregar

DATA bFilter
METHOD SetbFilter(bFilter);
INLINE (::cAlias)->(dbSetFilter(::bFilter:=bFilter)),;
if(::lPainted,::ResetBarPos(.T.),nil),;
::Default(),;
::GoTop(),;
::Refresh()

Sustituir
DATA nLen

por

METHOD nLen
Local nLen, nRec
IF ::lIsDbf
nRec:=(::cAlias)->(RecNo())
IF !Empty(::bFilter)
COUNT FOR (::cAlias)->(Eval(::bFilter)) TO nLen
ELSE
nLen:=::RecCount()
ENDIF
(::cAlias)->(dbGoto(nRec))
ELSE
nLen:=Len(::aArray)
ENDIF
RETURN nLen

Espero sea útil para alguien y agradeceré las sugerencias

César E. Lozada

Consulta

Posted: Mon Nov 07, 2005 4:59 am
by goosfancito
Amigo: que version de tsbrowser estas usando, pudiste compilarla sin errores? usas el xharbour? que version?

Re: TSBrowse y SET FILTER

Posted: Thu Nov 24, 2005 8:29 pm
by daniel
Lo modifique y lo compile y no me funiono
deberias de poner el fuente pa descagarlo, nos ayudaria mucho
gracias

César E. Lozada wrote:O yo no entiendo bien,o TSBrowse no está diseñado para funcionar con filtros, aunque sin con scopes sobre indices. Después de trabajar un poco logré que me funcionara bien, haciendo los siguientes cambios:

Agregar

DATA bFilter
METHOD SetbFilter(bFilter);
INLINE (::cAlias)->(dbSetFilter(::bFilter:=bFilter)),;
if(::lPainted,::ResetBarPos(.T.),nil),;
::Default(),;
::GoTop(),;
::Refresh()

Sustituir
DATA nLen

por

METHOD nLen
Local nLen, nRec
IF ::lIsDbf
nRec:=(::cAlias)->(RecNo())
IF !Empty(::bFilter)
COUNT FOR (::cAlias)->(Eval(::bFilter)) TO nLen
ELSE
nLen:=::RecCount()
ENDIF
(::cAlias)->(dbGoto(nRec))
ELSE
nLen:=Len(::aArray)
ENDIF
RETURN nLen

Espero sea útil para alguien y agradeceré las sugerencias

César E. Lozada