Duvida com o set Filter
Enviado: 21 Jul 2005 09:42
Pessoal, abaixo tem algumas linhas de exemplo de como estou fazendo.
Minha duvida e a seguinte, antes de mostrar o Tbrowse, eu filtro uma Tabela de acordo com minha necessidade.
No caso eu uso a funcao abaixo pra filtrar
/****** esta funcao esta em outro PRG *******/
STATIC FUNCTION FILTRO(OPC,CONTA)
SELECT("FIN")
FIN->(DBSETORDER(2))
FIN->(DBGOTOP())
IF !EMPTY(CONTA)
SET FILTER TO (DEBI==CONTA .OR. CRED==CONTA)
FIN->(DBGOTOP())
ENDIF
RETURN .t.
****************************************/
Feito isso vou pra funcao abaixo, ai que esta minha duvida.
Se a tabela ja ta filtrada, pq ela refaz o filtro logo apos o comando STabilize ?
/****************************************/
FUNCTION BROWSETELA(LI,CI,LF,CF,alias,tbrow)
oB := TBrowseDB(LI,CI,LF,CF)
OB:COLORSPEC := "B/W,W+/BG,N/W,R/W,N/W"
oB:Freeze = 2 //---> CONGELA A PARTIR DA COLUNA INDICADA
ob:HeadSep:= "Í"
ob:ColSep := "³"
FOR N := 1 TO LEN(5) // ADICIONA UMA COLUNA
OB:ADDCOLUMN()
v_bloq=OB:getcolumn(n)
V_BLOQ:COLORBLOCK :={ || })
NEXT
If (Eof())
DbGotop()
Endif
WHILE .T.
DO WHILE !ob:stabilize() .AND. NEXTKEY() == 0
ENDDO
nKey := InKey(0)
do Case // tratamento do retorno
EndCase
ob:refreshALL()
ENDDO
SetCursor(nCursSave)
Return (.T.)
Minha duvida e a seguinte, antes de mostrar o Tbrowse, eu filtro uma Tabela de acordo com minha necessidade.
No caso eu uso a funcao abaixo pra filtrar
/****** esta funcao esta em outro PRG *******/
STATIC FUNCTION FILTRO(OPC,CONTA)
SELECT("FIN")
FIN->(DBSETORDER(2))
FIN->(DBGOTOP())
IF !EMPTY(CONTA)
SET FILTER TO (DEBI==CONTA .OR. CRED==CONTA)
FIN->(DBGOTOP())
ENDIF
RETURN .t.
****************************************/
Feito isso vou pra funcao abaixo, ai que esta minha duvida.
Se a tabela ja ta filtrada, pq ela refaz o filtro logo apos o comando STabilize ?
/****************************************/
FUNCTION BROWSETELA(LI,CI,LF,CF,alias,tbrow)
oB := TBrowseDB(LI,CI,LF,CF)
OB:COLORSPEC := "B/W,W+/BG,N/W,R/W,N/W"
oB:Freeze = 2 //---> CONGELA A PARTIR DA COLUNA INDICADA
ob:HeadSep:= "Í"
ob:ColSep := "³"
FOR N := 1 TO LEN(5) // ADICIONA UMA COLUNA
OB:ADDCOLUMN()
v_bloq=OB:getcolumn(n)
V_BLOQ:COLORBLOCK :={ || })
NEXT
If (Eof())
DbGotop()
Endif
WHILE .T.
DO WHILE !ob:stabilize() .AND. NEXTKEY() == 0
ENDDO
nKey := InKey(0)
do Case // tratamento do retorno
EndCase
ob:refreshALL()
ENDDO
SetCursor(nCursSave)
Return (.T.)