Hola amigos
Se puede crear un xbrowse con un array y esta array que este vacio ?
La idea ir llenado el array desde un button y resfrescando el browse, pero siempre me da el error array acces.
un saludo
function Main()
local aDatos
aDatos := { { "", "", "" } }
REDEFINE XBROWSE oBrw ARRAY aDatos ID ID_BRW OF oDlg
......
carga datos en array
......
oBrw:Refresh()
return nil
oBrw:aCols[1]:cHeader := "primera"
oCol1 := oBrw:oCol( "primera" )
oCol1:Hide()
#include "FiveWin.ch"
#include "XBrowse.ch"
function Main()
local oWnd,oBrw,aData
aData := { { "Linea", Date(), 0 } }
DEFINE WINDOW oWnd TITLE "Click botón derecho a la derecha de las columnas"
@ 0,0 XBROWSE oBrw OF oWnd ARRAY aData AUTOCOLS
oBrw:CreateFromCode()
oWnd:oClient := oBrw
oBrw:bRClicked := { || AddRow( oBrw ) }
ACTIVATE WINDOW oWnd ;
ON INIT ( ASize( aData, 0 ), oBrw:GoTop(), oBrw:Refresh() )
return nil
function AddRow( oBrw )
local n := oBrw:nLen + 1
AAdd( oBrw:aArrayData, { Str( n ), Date() + n, n } )
oBrw:GoBottom()
oBrw:Refresh()
return nil
aData := {}
DO WHILE !eof
if date == date()
aAdd( aData, { linea, fecha, posicion } )
endIf
ENDDO
@ 0,0 XBROWSE oBrw OF oWnd ARRAY aData COLS 1,2,3
@ 0,0 XBROWSE oBrw OF oWnd ARRAY aData HEAD "Linea", "Fecha", "Posición" AUTOCOLS
oBrw:=TxBrowse():New(oDlg)
oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW // Con cursor de todo el renglón
oBrw:nColDividerStyle := LINESTYLE_LIGHTGRAY
oBrw:nRowDividerStyle := LINESTYLE_LIGHTGRAY
oBrw:lColDividerComplete := (.F.) // (.T.) Matiene siempre llena la pantalla
oBrw:nHeaderHeight := 25 // Altura de los encabezados
oBrw:nRowHeight := 22 // Altura del renglón
oBrw:nHeaderLines := 1 // Número de líneas de encabezados
oBrw:nDataLines := 1 // Número de líneas de detalle
oBrw:nFooterHeight := 20 // Altura del footer
oBrw:nFooterLines := 1 // Número de líneas en el footer
oBrw:lFooter := (.T.) // Sí queremos línea de footer
oBrw:lHScroll := (.F.) // Quitamos el scroll horizontal
aCol[ 1] := oBrw:AddCol()
aCol[ 1]:bStrData := { || IF(oRsRes:BOF() .AND. oRsRes:EOF(),SPACE(1),oRsRes:Fields("RES_NOM"):Value)}
aCol[ 1]:cHeader := "Nombre del residente"
aCol[ 1]:nHeadStrAlign := AL_LEFT
aCol[ 1]:nDataStrAlign := AL_LEFT
aCol[ 1]:nWidth := 350
aCol[ 2] := oBrw:AddCol()
aCol[ 2]:bStrData := { || IF(oRsRes:BOF() .AND. oRsRes:EOF(),SPACE(1),oRsRes:Fields("RES_INI"):Value)}
aCol[ 2]:cHeader := "Iniciales"
aCol[ 2]:nHeadStrAlign := AL_LEFT
aCol[ 2]:nDataStrAlign := AL_LEFT
aCol[ 2]:nWidth := 45
oBrw:bGoTop := { || IF( ! oRsRes:BOF() .AND. ! oRsRes:EOF(), oRsRes:MoveFirst(), ) }
oBrw:bGoBottom := { || IF( ! oRsRes:BOF() .AND. ! oRsRes:EOF(), oRsRes:MoveLast(), ) }
oBrw:bBof := { || oRsRes:BOF() }
oBrw:bEof := { || oRsRes:EOF() }
oBrw:bBookMark := { | uBm | IF( oRsRes:BOF() .AND. oRsRes:EOF(), 0, IF( uBm == NIL, oRsRes:BookMark, oRsRes:BookMark := uBm ) ) }
oBrw:bKeyNo := { | n | IF( oRsRes:BOF() .AND. oRsRes:EOF(), 0, IF( n == NIL, oRsRes:AbsolutePosition, oRsRes:AbsolutePosition := n ) ) }
oBrw:bKeyCount := {|| oRsRes:RecordCount() }
oBrw:SetAdo(oRsRes)
#include "FiveWin.ch"
#include "XBrowse.ch"
function Main()
local oWnd, oBrw, aData := {}
DEFINE WINDOW oWnd
@ 0, 0 XBROWSE oBrw OF oWnd ARRAY aData HEAD "One", "Two", "Three" AUTOCOLS
oBrw:CreateFromCode()
oWnd:oClient = oBrw
ACTIVATE WINDOW oWnd
return nil
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: Google [Bot], jpcavagnaro and 51 guests