| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2544 人关注过本帖
标题:Grid里的text1中keypress事件无效?
取消只看楼主 加入收藏
nioyu
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-9-18
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:8 
Grid里的text1中keypress事件无效?
vfp9.0 form中没有用数据环境,数据环境总是出一些莫名其妙的问题。Grid绑定了一个表,在form的init事件里又定义了grid的数据源,是同一个表。
sele 1
use data\ztml exclusive
INDEX on id1 TO idx1
go top
if eof()
  
*   
  
  
endif


thisform.grid1.recordsource='ztml'
thisform.grid1.recordsourcetype=1
thisform.grid1.column3.text1.AutoComplete= 1
thisform.grid1.column3.text1.AutoCompTable= 'data\hhcomp'
thisform.grid1.column4.text1.AutoComplete= 1
thisform.grid1.column4.text1.AutoCompTable= 'data\ggcomp'
thisform.refresh
thisform.grid1.setfocus
现在需要在column2.text1 的keypress事件里添加功能,但是无响应,keypress里测试最简单的 wait wind this.value,无任何反应。
不过如果不在form init事件里重定义grid的数据源,则keypress里的代码可以响应。
请问怎么能够在重定义grid数据源后,text的keypress也可以响应?谢谢
搜索更多相关主题的帖子: 数据源 
2015-09-24 08:07
nioyu
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-9-18
收藏
得分:0 
谢谢版主。现在问题的关键是keypress事件不响应,就是说不执行这个事件里的代码。
2015-09-24 08:19
nioyu
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-9-18
收藏
得分:0 
在form的activate事件里重定义grid数据源就不行了
thisform.grid1.recordsource='ztml'
 thisform.grid1.recordsourcetype=1
2015-09-24 08:55
nioyu
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-9-18
收藏
得分:0 
把这个
sele 1
 use data\ztml exclusive

改成
sele ztml
就可以响应了。
真是奇怪。
还是谢谢版主!
2015-09-24 09:11
nioyu
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-9-18
收藏
得分:0 
动态创建grid后,事件代码怎么加进去?有相关资料吗?
2015-09-24 09:32
nioyu
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-9-18
收藏
得分:0 
多谢!
2015-09-24 11:35
nioyu
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-9-18
收藏
得分:0 
回复 10楼 吹水佬
在form的activeate事件里加了如下语句
BINDEVENT(thisform.grid1.column8.text1,'keypress',,'click')

只在第一次触发有效,触发事件():
PARAMETERS bin1,bin2,bin3,bin4
sele 1
USE data\ztml EXCLUSIVE
appe blank
replace id6 with recno(),dw WITH '件',th WITH lmca,rq WITH DATE()



thisform.grid1.RecordSource='ztml'
thisform.grid1.column1.ReadOnly = .T.
thisform.grid1.column9.ReadOnly = .T.
thisform.grid1.column10.ReadOnly = .T.
thisform.grid1.column8.text1.AutoComplete= 1
thisform.grid1.column8.text1.AutoCompTable= 'data\gyzxcomp'
thisform.grid1.column4.text1.AutoComplete= 1
thisform.grid1.column4.text1.AutoCompTable= 'data\ggcomp'
thisform.grid1.column3.text1.AutoComplete= 1
thisform.grid1.column3.text1.AutoCompTable= 'data\mccomp'
thisform.grid1.column1.header1.Caption='序号'
thisform.grid1.column2.header1.Caption='图号'
thisform.grid1.column3.header1.Caption='名称'
thisform.grid1.column4.header1.Caption='规格'
thisform.grid1.column5.header1.Caption='单位'
thisform.grid1.column6.header1.Caption='数量'
thisform.grid1.column7.header1.Caption='单重'
thisform.grid1.column8.header1.Caption='类别'
thisform.Refresh
thisform.grid1.setfocus

grid1的数据源是ztml,在column8.text1里回车后触发command2.click(),对表ztml增加一条空记录。测试时只有第一次回车触发增加新纪录,增加完再回车不触发click事件了,不知道哪里出错?

[此贴子已经被作者于2016-1-27 16:19编辑过]

2016-01-27 14:46
nioyu
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-9-18
收藏
得分:0 
回复 13楼 mywisdom88
用的就是bindevent(),执行起来好像第一次触发后绑定失效了,再也触发不了了,不知道是哪里的问题
2016-01-27 16:43
nioyu
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-9-18
收藏
得分:0 
好像是这里的问题

sele 1
USE data\ztml EXCLUSIVE
改成
sele ztml
就可以了
2016-01-27 17:12
快速回复:Grid里的text1中keypress事件无效?
数据加载中...
 
   



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

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