主题:俺又遇到问题了,请帮帮忙~好吗?
aastzy
[专家分:0] 发布于 2009-09-04 08:35:00
我正用VF6编一个小程序,在表单里有LIST1和LIST2两个列表框控件,还有一个‘数据输出‘按钮,我想点击一下按钮,然后将LIST1中选定的数据输出到LIST2,我的问题是:为什么点击后,数据是输过去了,可为什么LIST2不能自动显示出来,得用鼠标点击一下LIST2,它才能显示新的数据,当然,我在按钮中也用上了“THISFORM.LIST2.REFRESH”,为什么不管用?请高手们帮忙解决!谢谢!
回复列表 (共11个回复)
沙发
AtwillCm [专家分:450] 发布于 2009-09-04 09:35:00
THISFORM.LIST2.REFRESH之前加上一句:THISFORM.LIST2.click看看
板凳
aastzy [专家分:0] 发布于 2009-09-04 09:53:00
还是不行!谢谢你帮我!
3 楼
sywzs [专家分:5650] 发布于 2009-09-04 10:14:00
把你的代码贴出来,看看问题出在哪?
4 楼
alpen [专家分:1140] 发布于 2009-09-04 13:40:00
在按钮LIST1表框控件click代码中,加入:
THISFORM.LIST2.AddItem(This.List(ListIndex))
点击一下LIST1表框控件按钮,看看吧!
5 楼
aastzy [专家分:0] 发布于 2009-09-04 15:16:00
那个‘数据输出’按钮的代码是这样编的:
SELECT 14 &这是一个员工个人信息表, 是生成LIST1中的表
STORE 员工编号 TO BH
STORE 姓名 TO XM
SELECT 48 &这是生成LIST2中的出勤工人员的名单表
LOCATE FOR 员工编号==BH
IF FOUND()
MESSAGEBOX('此员工已选择了!',64,'岚鸣广告')
ELSE
APPEND BLANK
REPLACE 员工编号 WITH BH,姓名 WITH XM
THISFORM.LIST2.click
THISFORM.LIST2.Refresh
ENDIF
请大家帮忙看看有没有问题?谢谢!
6 楼
sywzs [专家分:5650] 发布于 2009-09-05 05:25:00
把 THISFORM.LIST2.click 改为 THISFORM.LIST2.listindex=THISFORM.LIST2.listcount 试试。
7 楼
sywzs [专家分:5650] 发布于 2009-09-05 05:30:00
向列表框中添加数据最好用添加成员的方法
THISFORM.LIST2.ADDITEM(BH+" "+XM)
8 楼
colcolcom [专家分:2330] 发布于 2009-09-05 06:34:00
valuechar=thisform.list1.DisplayValue
IF thisform.list2.ListCount=0
j=.t.
ELSE
j=.t.
FOR i=1 TO thisform.list2.ListCount
IF valuechar=thisform.list2.ListItem(i)
j=.f.
EXIT
ENDIF
ENDFOR
ENDIF
IF j=.t.
thisform.list2.AddItem(valuechar)
FOR i=1 TO thisform.list1.ListCount
IF thisform.list1.ListItem(i)==valuechar
thisform.list1.RemoveListItem(i)
EXIT
ENDIF
ENDFOR
ENDIF
9 楼
aastzy [专家分:0] 发布于 2009-09-06 14:38:00
以上的代码都试过了,可还得点一击一下LIST2的框内,数据才能显示出来!谢谢大家的热情帮助!我打算把LIST2的列表框,换成表格,估计这样简单些!
10 楼
Ilikefox [专家分:5770] 发布于 2009-09-06 15:24:00
呵呵,不要总想着 Refresh 啊!
这两个List绑到字段上了吧,既然List2增加了新条目(实际上就是List2绑的表添加了新记录),那可不能Refresh,应该Requery。
试试 THISFORM.LIST2.Requery
我来回复