有一个表单,表单上有两个控件:命令按钮和列表框 列表框的属性:RowSourceType=5和RowSource=a 命令按钮的代码为: dimension a(10,14) n=0 for i=1 to 10 for k=1 to 14 store n to a(i,k) n=n+1 endfor endfor thisform.list1.requery
1.)你的这个LIST1的属性在设计时设置好的话使得当表单初始化时它就去找a这个数据源了,而你的a在点按钮之前还没产生,所以表单一出来先提示a不是一个数组。 2.)dimension定义的是私有变量,你在按钮里定义的数组,在执行到THISFORM.LIST1.REQUERY之前数组a就消失了,所以LIST1里只剩下一杠杠的却没数据。 3.)因按钮每点一次,就定义一次数组,这个没必要。 解决办法: 1.)将LIST1的ROWSOURCE和ROWSOURCETYPE属性还原为默认值;把LIST1的COLUMNCOUNT属性设置为14(即设定列数,否则只显示第一列数据) 2.)在FORM的INIT事件里定义公共数组a: public array a(10,14) n=0 for i=1 to 10 for k=1 to 14 store n to a(i,k) n=n+1 endfor endfor 3.)在FORM的DESTROY事件里做释放公共变量数组a的操作: RELEASE a 4.)在按钮CLICK里写上: WITH thisform.list1 .rowsourcetype=5 .rowsource="a" ENDWITH thisform.list1.requery