* fill List1 From Array
************************
* Para no crear un PUBLIC ARRAY, prefiero generar una propiedad de matriz en el formulario.
nc=0
nObten=6
IF PEMSTATUS(thisform,"marray",5)
REMOVEPROPERTY(thisform,"mArray")
endif
addproperty(thisform,"mArray[1]","")
IF !PEMSTATUS(thisform,"PropList",5)
ADDPROPERTY(thisform,"PropList","")
ENDIF
SELECT agenda
GO top
thisform.Proplist=EVALUATE(FIELD(4))
SCAN
nc=nc+1
DIMENSION thisform.mArray(nc,nObten)
FOR i=1 TO nObten
cCampo=FIELD(i)
thisform.mArray[nc,i]=EVALUATE(cCampo)
NEXT
ENDSCAN
WITH thisform.list1
.Clear
.RowSource=""
.ColumnCount=ALEN(thisform.mArray,2)
.RowSourceType=5
.RowSource="thisform.mArray"
.boundcolumn=4
.ControlSource='Thisform.PropList'
.requery
.refresh
ENDWITH
* ----------------------------------------------------
* Fill .AddListItem()
***********************
nc=0
nObten=6
IF !PEMSTATUS(thisform,"PropList",5)
ADDPROPERTY(thisform,"PropList","")
ENDIF
SELECT agenda
GO top
thisform.Proplist=EVALUATE(FIELD(4))
WITH thisform.list1
.Clear
.RowSource=""
.RowSourceType=0
.ColumnCount=nObten
.boundcolumn=4
.controlSource='thisform.proplist'
SCAN
nc=nc+1
FOR i=1 TO nObten
xValCampo=EVALUATE( FIELD(i) )
DO case
CASE VARTYPE(xValCampo)="C"
xValCampo=ALLTRIM(xVAlCampo)
CASE VARTYPE(xValCampo)="N"
xValCampo=TRANSFORM(xValCampo,"999,999.99")
CASE VARTYPE(xValCampo)="I"
xValCampo=Transform(xValCampo,"999999")
CASE VARTYPE(xValCampo)="D"
xValCampo=DTOC(xValcampo)
CASE VARTYPE(xVAlCampo)="T"
xValCampo=TTOC(xValCAmpo)
CASE VARTYPE(xValCampo)="L"
xValCampo=IIF(xValCampo,"Si","No")
endcase
.AddListItem(xValCampo,nc,i)
NEXT
ENDSCAN
.requery
.refresh
endwith
* ----------------------------------------------------------------------
* Fill from Table / Cursor
****************************
nc=0
nObten=6
IF !PEMSTATUS(thisform,"PropList",5)
ADDPROPERTY(thisform,"PropList","")
ENDIF
SELECT agenda
GO top
thisform.Proplist=EVALUATE(FIELD(4))
WITH thisform.list1
.Clear
.RowSource=""
.RowSourceType=2
.RowSource="agenda"
.ColumnCount=nObten
.boundcolumn=4
.controlSource='thisform.proplist'
.requery
.refresh
endwith
* ------------------------------------------------
* Fill from SQL SELECT
****************************
nc=0
nObten=6
IF !PEMSTATUS(thisform,"PropList",5)
ADDPROPERTY(thisform,"PropList","")
ENDIF
SELECT agenda
GO top
thisform.Proplist=EVALUATE(FIELD(4))
lcSelect=[Select *,RECNO() from Agenda into cursor papa where !EMPTY(fecha)]
WITH thisform.list1
.Clear
.RowSource=""
.RowSourceType=3
.RowSource=[&lcSelect]
.ColumnCount=nObten
.boundcolumn=4
.Controlsource='Thisform.PropList'
.requery
.refresh
endwith