BINDEVENT 命令使用中出现的问题

rosion 2008-01-31 06:51:18
我在form的init 中这样写事件:
FOR i =1 TO 10
ci=ALLTRIM(STR(i))
= BINDEVENT(THISform.grid1.column&ci..text1, "LostFocus", this, "Textlost")
ENDFOR

新建的事件textlost代码如下:
IThisform.grid1.column8.text1.Value=Thisform.grid1.column7.text1.Value*Thisform.grid1.column6.text1.Value

表单刷新事件:
With Thisform
.grid1.RecordSource='kc_in_view1'
.grid1.column1.ControlSource='kc_in_view1.SerialNo'
.grid1.column2.ControlSource='kc_in_view1.mrlcode'
.grid1.column3.ControlSource='kc_in_view1.mrlname'
.grid1.column4.ControlSource='kc_in_view1.Spec'
.grid1.column5.ControlSource='kc_in_view1.Unit'
.grid1.column6.ControlSource='kc_in_view1.InQty'
.grid1.column7.ControlSource='kc_in_view1.Price'
.grid1.column8.ControlSource='kc_in_view1.RowSum'
.grid1.column9.ControlSource='kc_in_view1.MrlID'
.grid1.column10.ControlSource='kc_in_view1.Remark'
endw
第一次刷新时,BINDEVENT方法有效,第二次,lostfocus方法就无效了。
不知何故
...全文
101 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rosion 2008-02-01
  • 打赏
  • 举报
回复
OK了,谢谢十豆三。
rosion 2008-02-01
  • 打赏
  • 举报
回复
OK了,谢谢十豆三。
十豆三 2008-02-01
  • 打赏
  • 举报
回复
记住,如果要关闭Grid数据源的表或要重新生成,一定要先grid1.RecordSource=NULL
再操作。
rosion 2008-02-01
  • 打赏
  • 举报
回复
还是不行啊,当If Used('kc_in_view1')
Use
Endif
再获得临时表kc_in_view1数据,赋予GRID1时,GRID1所有列的方法都失效,只有grid1.AfterRowColChange的事件有效
十豆三 2008-02-01
  • 打赏
  • 举报
回复

.grid1.RecordSource='kc_in_view1'
之前加一句:
.grid1.RecordSource=NULL
即可。

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧