回 帖 发 新 帖 刷新版面

主题:俺又遇到问题了,请帮帮忙~好吗?

我正用VF6编一个小程序,在表单里有LIST1和LIST2两个列表框控件,还有一个‘数据输出‘按钮,我想点击一下按钮,然后将LIST1中选定的数据输出到LIST2,我的问题是:为什么点击后,数据是输过去了,可为什么LIST2不能自动显示出来,得用鼠标点击一下LIST2,它才能显示新的数据,当然,我在按钮中也用上了“THISFORM.LIST2.REFRESH”,为什么不管用?请高手们帮忙解决!谢谢!

回复列表 (共11个回复)

沙发

THISFORM.LIST2.REFRESH之前加上一句:THISFORM.LIST2.click看看

板凳

还是不行!谢谢你帮我!

3 楼

把你的代码贴出来,看看问题出在哪?

4 楼

在按钮LIST1表框控件click代码中,加入:

THISFORM.LIST2.AddItem(This.List(ListIndex))

点击一下LIST1表框控件按钮,看看吧!

5 楼

那个‘数据输出’按钮的代码是这样编的:
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 楼

把 THISFORM.LIST2.click 改为 THISFORM.LIST2.listindex=THISFORM.LIST2.listcount 试试。

7 楼

向列表框中添加数据最好用添加成员的方法
THISFORM.LIST2.ADDITEM(BH+"  "+XM)

8 楼

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 楼

以上的代码都试过了,可还得点一击一下LIST2的框内,数据才能显示出来!谢谢大家的热情帮助!我打算把LIST2的列表框,换成表格,估计这样简单些!

10 楼

呵呵,不要总想着 Refresh 啊!

这两个List绑到字段上了吧,既然List2增加了新条目(实际上就是List2绑的表添加了新记录),那可不能Refresh,应该Requery。

试试 THISFORM.LIST2.Requery

我来回复

您尚未登录,请登录后再回复。点此登录或注册