Reconstruir xbrowse
Posted: Sun May 12, 2019 8:43 pm
Buenas
Tengo un xbrowse en xharbour, y lo inicializo con un array
Antes de crear el xbrowse, he llamado una funcion que llena el array con datos:
y muestra todos los datos.
Pero si arranco el xbrowse con el array con datos en blanco
Efectivamente me muestra el browse con columnas en blanco, pero si cargo los datos en el array, auque haga oLbx1:Refresh(), me sigue mostrando el array con los datos en blanco.
Sin embargo el array tiene los datos correctos, pero me sigue mostrando el array en blanco, es decir no actualiza los datos.
Por que puede ser?
Tengo un xbrowse en xharbour, y lo inicializo con un array
Code: Select all
REDEFINE xBROWSE oLbx1 ;
ARRAY aData ;
ID 300 of odlg ;
CELL LINES;
ON LEFT DBLCLICK (iif(cQuehago$"AM",(cPro1:=aData[oLbx1:nArrayAt,2],cDomi1:=aData[oLbx1:nArrayAt,3],cTel1:=aData[oLbx1:nArrayAt,4],Publicas:cPobla1:=aData[oLbx1:nArrayAt,5],Publicas:ncCodmun1:=aData[oLbx1:nArrayAt,6],Publicas:ccp1:=aData[oLbx1:nArrayAt,7]),.F.),oDlg:Update())
WITH OBJECT oLbx1
:lHeader:=.F.
:lRecordSelector:=.F.
:bClrStd:= { || { CLR_BLACK, If( oLbx1:KeyNo % 2 == 0, nRGB(242,247,252),nRGB(226,226,208) ) } }
:nColDividerStyle := LINESTYLE_LIGHTGRAY //BLACK
:nMarqueeStyle := 5//MARQSTYLE_HIGHLROW // Con cursor de todo el renglón
END
oDlg:oClient = oLbx1
Code: Select all
if cQuehago$"VM"
aData:=muestra(cQuehago,olbx1,aAlias,registro)
endif
Code: Select all
static function muestra(cQuehago,olbx1,aAlias,registro)
local cindi:=(aAlias[30])->(Ordsetfocus())
aData:={}
do case
case cQuehago$"A"
if cvar ='Avisos desde Hoy'
(aAlias[30])->(DbSetfilter())
endif
(aAlias[30])->(OrdSetFocus("pro"))
(aAlias[30])->(Ordscope(0,Publicas:cPro))
(aAlias[30])->(Ordscope(1,Publicas:cPro))
(aAlias[30])->(Dbgotop())
do while !(aAlias[30])->(Eof())
AADD(aData,{Dtoc((aAlias[30])->Fecha),(aAlias[30])->Pro1,(aAlias[30])->Domi1,(aAlias[30])->tel1,(aAlias[30])->pobla1,(aAlias[30])->codpobla1,(aAlias[30])->cp1})
(aAlias[30])->(Dbskip())
enddo
(aAlias[30])->(Ordscope(0,Nil))
(aAlias[30])->(Ordscope(1,Nil))
(aAlias[30])->(Ordsetfocus(cindi))
if cvar ='Avisos desde Hoy'
(aAlias[30])->(dbSetfILTER( {|| avisos->fecha1>=Publicas:aIni},'avisos->fecha1=Publicas:aIni') )
Endif
olbx1:show()
// (aAlias[30])->( dbgoto( registro ))
case cQuehago$"VM"
if cvar ='Avisos desde Hoy'
(aAlias[30])->(DbSetfilter())
endif
(aAlias[30])->(OrdSetFocus("pro"))
(aAlias[30])->(Ordscope(0,Publicas:cPro))
(aAlias[30])->(Ordscope(1,Publicas:cPro))
(aAlias[30])->(Dbgotop())
do while !(aAlias[30])->(Eof())
AADD(aData,{Dtoc((aAlias[30])->Fecha),(aAlias[30])->Pro1,(aAlias[30])->Domi1,(aAlias[30])->tel1,(aAlias[30])->pobla1,(aAlias[30])->codpobla1,(aAlias[30])->cp1})
(aAlias[30])->(Dbskip())
enddo
(aAlias[30])->(Ordscope(0,Nil))
(aAlias[30])->(Ordscope(1,Nil))
(aAlias[30])->(Ordsetfocus(cindi))
if cvar ='Avisos desde Hoy'
(aAlias[30])->(dbSetfILTER( {|| avisos->fecha1>=Publicas:aIni},'avisos->fecha1=Publicas:aIni') )
Endif
(aAlias[30])->( dbgoto( registro ))
end case
return aData
Pero si arranco el xbrowse con el array con datos en blanco
Code: Select all
Aadd(aData,{' ',' ',' ',' ',' ',' ',' '})
Sin embargo el array tiene los datos correctos, pero me sigue mostrando el array en blanco, es decir no actualiza los datos.
Por que puede ser?