foxpro:combo控件的数组数据源

为combo控件指定数据源:
如下可以实现
WITH Thisform
  .AddProperty( 'aaa[5]' )
  .aaa[1] = SUBSTR(DTOC(GOMONTH(DATE(),-2)),1,7)
  .aaa[2] = SUBSTR(DTOC(GOMONTH(DATE(),-1)),1,7)
  .aaa[3] = SUBSTR(DTOC(DATE()),1,7)
  .aaa[4] = SUBSTR(DTOC(GOMONTH(DATE(),1)),1,7)
  .aaa[5] =SUBSTR(DTOC(GOMONTH(DATE(),2)),1,7)
  .combo3.RowSourceType = 5
  .combo3.RowSource = 'thisform.aaa'
  .combo3.ListIndex = 3
ENDWITH
 
这段代码无论在表单的init还是combo的init事件中,都可以正常实现所需功能。
 
但换成下的代码,则combo中一片空白,原因一直没找到
DIMENSION xz[5]
xz[1] =SUBSTR(DTOC(GOMONTH(DATE(),-2)),1,7)
xz[2] =SUBSTR(DTOC(GOMONTH(DATE(),-1)),1,7)
xz[3] =SUBSTR(DTOC(DATE()),1,7)
xz[4] =SUBSTR(DTOC(GOMONTH(DATE(),1)),1,7)
xz[5] =SUBSTR(DTOC(GOMONTH(DATE(),2)),1,7)
thisform.combo2.RowSourceType= 5
thisform.combo2.RowSource='xz'
thisform.combo2.ListIndex=3
=======================================
找到了解决办法
在表单的load事件中,将数组变量声明为全局变量即可
public xz
切记:不能将此声明放到表单的init事件中,因为表单的init事件落后于控件的init事件

你可能感兴趣的:(职场,数据源,休闲)