回 帖 发 新 帖 刷新版面

主题:VFP临时表双击事件

我是新手,请各位多支持帮助!现有问题急需帮助:在表单中建立一页框,页框有8页,其中各有一个GRID1表格,表中数据源为临时表,我想双击GRID1表格临时表的单元格,将单元格中的数据存入全局变量xgmc中,可是双后查?xgmc总是显示“.f.”请各位指点,谢!!!

回复列表 (共12个回复)

沙发

请写出你的代码,描述怎样实现双击将单元格中的数据存入全局变量xgmc中。

板凳

谢谢!
  先在FORM中LOAD事件中:PUBLIC xgmc 在grid1.text1双击事件中写:this.value=xgmc

3 楼

呵呵,写反了吧

this.value=xgmc
改为
xgmc=this.value

4 楼

谢谢楼主!是我写反了,可是改正后发现只有对grid表中的第一个记录双击有效,再双击下面的都不能改变xgmc变量的值,是何原因?

5 楼

首先,如果你想双击任意一个单元格都能实现目的,则要对每个Column包含的text1的双击事件编写:
xgmc=this.value

其次,你可以先用一个文本框测试,方法是在表单上放一个文本框(不要放到页框中),双击事件改为:
thisform.text9.value=this.value ,这里俺假设那个用于测试的文本框是text9,然后运行试试,这样可以实时看到双击后的效果。

最后,俺作的测试一切正常。

6 楼

[quote]谢谢楼主!是我写反了....[/quote]

呵呵,俺不是楼主,你才是啊[em12]

7 楼

谢谢,我是调用另一表单中的text显示此变量的值,发现只有第一次单击有效,但页中的grid的数据源改为视图则一切工正常,现在是SQL输出的临时表,不知何因?

8 楼


我按你的方法试了,开始正常,但是关闭此表单后再运行,那个显示双击值的TEXT又没显示值了。

9 楼


假设你的表单上有一个文本框text1,一个页框pageframe1,其中各有一个Grid1表格,

1、在表单的Init事件中写入代码:

WITH thisform.pageframe1
    FOR i=1 TO .PageCount
        FOR n=1 TO .Pages(i).grid1.columncount
            BINDEVENT(.Pages(i).grid1.columns(n).text1,"Dblclick",thisform,"kkk")
        ENDFOR
    ENDFOR
ENDWITH

2、新建一个自定义方法kkk写入一下代码:
WITH thisform.pageframe1
    n=.ActivePage
    m=.Pages(n).grid1.activecolumn
    cFld = .Pages(n).grid1.columns(m).controlsource
    thisform.text1.Value = EVALUATE(cFld)
ENDWITH


只要你双击表格的单元格,单元格中的数据就会出现在text1中!我已经测试过没问题!

10 楼

先感谢你!!!我试一下。

我来回复

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