Page 1 of 1

TWBROWSE ScrollBar fica louca

Posted: Mon Sep 18, 2006 4:14 pm
by AOKISANTOS
Amigos, usando a TWBROWSE com ARRAY, quando eu DELETO, um elemento da ARRAY, e atualizo a LISTBOX, a SCROLLBAR FICA louca.
EX:
fdados :={{"","","","","","","","","",""}}
fheader:= {"","","","","","","","","",""}

redefine listBox oBfsu Fields Of oDld id 101 SIZES 50,40,220,80,80,100,100,100,100,100 COLORS CLR_BLACK,CLR_LGREEN
fHeader[1] := "Número"
fHeader[2] := "Ano"
fHeader[3] := "Origem"
fHeader[4] := "Recebimento"
fHeader[5] := "Remessa"
fHeader[6] := "Procedimento"
fHeader[7] := "Natureza do Delito"
fHeader[8] := "Indiciado"
fHeader[9] := "Vítima"
fHeader[10]:= "Cartório"

obfsu:aJustify := {2,2,0,2,2,0,0,0,0,0}
obfsu:aHJustify := {2,2,0,2,2,0,0,0,0,0}
obfsu:nHeaderStyle := 3
obfsu:nLineStyle := 3
obfsu:nclrbackfocus:= {|| CLR_HBLUE}
obfsu:nHeaderHeight:= 24
obfsu:nLineHeight := 22
obfsu:nfreeze := 2
obfsu:aHeaders := fHeader
obfsu:bLine := {|| { fDados[obfsu:nAt,1],fDados[obfsu:nAt,2],fDados[obfsu:nAt,3],fDados[obfsu:nAt,4],fDados[obfsu:nAt,5],fDados[obfsu:nAt,6],fDados[obfsu:nAt,7],fDados[obfsu:nAt,8],fDados[obfsu:nAt,9],fDados[obfsu:nAt,10]}}
obfsu:Refresh()
obfsu:setArray(fDados)
oDld :lHelpicon:=.F.

**********************************
static function CARREGARRAY()
**********************************
LOCAL CelAnt:=select(),COrderAnt:=ORDSETFOCUS()

fdados :={}
Select prerecebidas
dbsetorder(1)
dbseek(strzero(ofanos,4))
do while OFANOS==prerecebidas->pr_anos .and. ! eof()
aadd(fdados ,{prerecebidas->pr_nume,;
prerecebidas->pr_anos,;
prerecebidas->pr_rece,;
prerecebidas->pr_reme,;
prerecebidas->pr_cart})

dbskip()
enddo
IF LEN(FDADOS)=0
fdados :={{"","","","","","","","","",""}}
ENDIF
obfsu:SetArray(fdados)
obfsu:nAt:=(len(fdados))
obfsu:refresh()
obfsu:DEFAULT() //DEVO USAR?
SELECT(CELANT)
ORDSETFOCUS(CORDERANT)
RETURN(.T.)


FIQUEM COM DEUS
AOKISANTOS

Re: TWBROWSE ScrollBar fica louca

Posted: Tue Sep 19, 2006 3:55 pm
by Maurilio Viana
Aoki,

You must do obfsu:setArray(fDados) again after delete an element of array or update obfsu:bLogicLen code block to read the correct size of your array.

Perguntar em português em um forum em inglês fica difícil alguém te responder...

Maurilio

hehehe foi mal

Posted: Fri Sep 22, 2006 12:39 am
by AOKISANTOS
hehehehehe....maurilio...foi mal.... tendi nada que vc explicou!


:lol:

Re: hehehe foi mal

Posted: Fri Sep 22, 2006 11:10 am
by Maurilio Viana
Aoki,

Vc deve passar o obfsu:setArray(fDados) de novo após excluir ou adicionar um novo elemento no array, ou então atualizar o bloco obfsu:bLogicLen para ler o novo tamanho do array e calcular a posição certa da barra.

[ ]'s
Maurilio

OK

Posted: Wed Sep 27, 2006 1:44 am
by AOKISANTOS
OK Maurilio, vou testar... muitas gracias meu amigo...