| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 569 人关注过本帖
标题:在表格BeforeRowColChange中写代码,造成表单卡死的现象?
只看楼主 加入收藏
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
我刚刚查了,
我加了个计数器,触发BeforeRowColChange,就+1
结果,发现,计数器数值很大了。
**BeforeRowColChange 事件
LPARAMETERS nColIndex
JJJ=JJJ+1
IF THISFORM.OPT1.Value=1 &&AND loaddata =.t. &&修改该数据时,选择列操作
  If (Lastkey()>=48 AND Lastkey()<=57) OR Lastkey()=13  &&最后按0~9或者回车后下移
      Nodefault
      Keyboard "{DNARROW}"
  ENDIF
ENDIF
发现JJJ的值,有时候,100W多次。。。

但如果,
IF THISFORM.OPT1.Value=1 AND loaddata =.t.
这样,JJJ的值,就只有2,
估计是 Keyboard "{DNARROW}",造成的,假触发,死循环


[ 本帖最后由 mywisdom88 于 2015-7-24 22:21 编辑 ]
2015-07-24 22:16
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
但是,见鬼的,就是,
同样的,在VFP本地VFP上取数据,JJJ=0,,,
SELECT SDB
WAIT WINDOW NOWAIT '正在读取本月数据......'

SELECT 0 AS 选择, 编号,..............
     WHERE &cWHERE ;
     FROM SDB ORDER BY 编号 ASC INTO TABLE TEMP\SDB_DJ
INDEX ON 编号 TAG 编号
SELECT SDB_DJ
THISFORM.Grid1.RECORDSOURCE=''
THISFORM.Grid1.COLUMNCOUNT = -1
THISFORM.Grid1.RECORDSOURCE=ALIAS()
这样取本地VFP数据,JJJ=0,也就是说,我在取数的过程中,这个事件,没有给触发

但我在SQL2000中取数,
TEXT TO SQL_str NOSHOW TEXTMERGE PRETEXT 4
SELECT 0 AS 选择, 编号,..............
    FROM SDB
    WHERE <<WHERE>>
ENDTEXT
SQLEXEC(nhandle,sql_str,'sql_sdb')
这样取SQL2000的数据下来,却给触发了百万次。。
2015-07-24 22:32
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
改为你说的,在LOSTFOCUS中,彻底解决了问题。
计数器,没计数了JJJ=0了。
FOR J=4 TO 21
    BINDEVENT(thisform.grid1.Columns[J].text1,"LostFocus",thisform,"MyLostFocus") &&指令绑定VFP9.0才有
ENDFOR

**MyLostFocus
JJJ=JJJ+1
IF THISFORM.OPT1.Value=1  &&修改该数据时,选择列操作
  If (Lastkey()>=48 AND Lastkey()<=57) OR Lastkey()=13  &&最后按0~9或者回车后下移
      Nodefault
      Keyboard "{DNARROW}"
  ENDIF
ENDIF
2015-07-24 22:50
快速回复:在表格BeforeRowColChange中写代码,造成表单卡死的现象?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020944 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved