Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Here’s some sample code for a new feature in VFP9: the Listbox Rowsource can be a collection, and can even specify collection members for multiple columns:
CLEAR ALL
CLEAR
PUBLIC ox as form
PUBLIC oc as Collection
USE HOME()+"\samples\data\customer"
oc=NEWOBJECT("collection")
#define USEOLE 1
#if USEOLE
#define NUM 4
DIMENSION ofrm[NUM]
FOR i = 1 TO 4
ofrm[i]=NEWOBJECT("form")
ofrm[i].caption="cap"+TRANSFORM(i)
ENDFOR
FOR EACH xx IN _vfp.Forms
oc.Add(xx)
endfor
#else
oc.Add("start")
SCAN NEXT 10
SCATTER NAME orec
oc.Add(orec)
ENDSCAN
#endif
oc.Add("end")
ox=NEWOBJECT("form")
ox.Left=300
ox.visible=1
ox.AllowOutput=.f.
IF .f.
ox.addobject("lst","combobox")
ELSE
ox.addobject("lst","listbox")
ENDIF
ox.lst.visible=1
ox.lst.width=300
ox.lsT.RowSourceType=10
ox.lst.columncount=2
ox.lst.columnwidths="100,100"
#if USEOLE
oc=_vfp.Forms
ox.lsT.RowSource="oc,caption,visible"
#else
*oc=_vfp
?EVALUATE("oc")
ox.lsT.RowSource="oc,company,contact" &&,cust_id,company"
*ox.lsT.RowSource="oc,cust_id,company"
#endif
Comments
- Anonymous
December 17, 2005
Guess it pays to review What's new in VFP9 once again.
It works well even if it's not a vfp native collection object.