Reconstruir xbrowse

Reconstruir xbrowse

Postby JoseLuis » Sun May 12, 2019 8:43 pm

Buenas

Tengo un xbrowse en xharbour, y lo inicializo con un array
Code: Select all  Expand view  RUN
    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


Antes de crear el xbrowse, he llamado una funcion que llena el array con datos:

Code: Select all  Expand view  RUN
    if cQuehago$"VM"
        aData:=muestra(cQuehago,olbx1,aAlias,registro)
    endif

Code: Select all  Expand view  RUN
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


y muestra todos los datos.

Pero si arranco el xbrowse con el array con datos en blanco

Code: Select all  Expand view  RUN
Aadd(aData,{' ',' ',' ',' ',' ',' ',' '})


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?
--------------------------
Saludos

Jose Luis
JoseLuis
 
Posts: 426
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Re: Reconstruir xbrowse

Postby horacio » Sun May 12, 2019 10:09 pm

Prueba así

Code: Select all  Expand view  RUN

oLbx : aArrayData := aData
oLbx : Refresh()
 


Saludos
horacio
 
Posts: 1363
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: Reconstruir xbrowse

Postby JoseLuis » Mon May 13, 2019 7:14 am

!Correcto!, muchas gracias

Las neuronas ya van dejando de funcionar
--------------------------
Saludos

Jose Luis
JoseLuis
 
Posts: 426
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 84 guests