主题:VFP临时表双击事件
baotong88
[专家分:0] 发布于 2009-10-12 12:31:00
我是新手,请各位多支持帮助!现有问题急需帮助:在表单中建立一页框,页框有8页,其中各有一个GRID1表格,表中数据源为临时表,我想双击GRID1表格临时表的单元格,将单元格中的数据存入全局变量xgmc中,可是双后查?xgmc总是显示“.f.”请各位指点,谢!!!
回复列表 (共12个回复)
沙发
Ilikefox [专家分:5770] 发布于 2009-10-12 15:38:00
请写出你的代码,描述怎样实现双击将单元格中的数据存入全局变量xgmc中。
板凳
baotong88 [专家分:0] 发布于 2009-10-12 15:55:00
谢谢!
先在FORM中LOAD事件中:PUBLIC xgmc 在grid1.text1双击事件中写:this.value=xgmc
3 楼
Ilikefox [专家分:5770] 发布于 2009-10-12 16:03:00
呵呵,写反了吧
this.value=xgmc
改为
xgmc=this.value
4 楼
baotong88 [专家分:0] 发布于 2009-10-12 16:54:00
谢谢楼主!是我写反了,可是改正后发现只有对grid表中的第一个记录双击有效,再双击下面的都不能改变xgmc变量的值,是何原因?
5 楼
Ilikefox [专家分:5770] 发布于 2009-10-12 17:24:00
首先,如果你想双击任意一个单元格都能实现目的,则要对每个Column包含的text1的双击事件编写:
xgmc=this.value
其次,你可以先用一个文本框测试,方法是在表单上放一个文本框(不要放到页框中),双击事件改为:
thisform.text9.value=this.value ,这里俺假设那个用于测试的文本框是text9,然后运行试试,这样可以实时看到双击后的效果。
最后,俺作的测试一切正常。
6 楼
Ilikefox [专家分:5770] 发布于 2009-10-12 17:27:00
[quote]谢谢楼主!是我写反了....[/quote]
呵呵,俺不是楼主,你才是啊[em12]
7 楼
baotong88 [专家分:0] 发布于 2009-10-12 17:34:00
谢谢,我是调用另一表单中的text显示此变量的值,发现只有第一次单击有效,但页中的grid的数据源改为视图则一切工正常,现在是SQL输出的临时表,不知何因?
8 楼
baotong88 [专家分:0] 发布于 2009-10-12 17:58:00
我按你的方法试了,开始正常,但是关闭此表单后再运行,那个显示双击值的TEXT又没显示值了。
9 楼
zxl931 [专家分:3420] 发布于 2009-10-13 00:17:00
假设你的表单上有一个文本框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 楼
baotong88 [专家分:0] 发布于 2009-10-13 13:10:00
先感谢你!!!我试一下。
我来回复