Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:不能手动修改,但可以用代码修改

1楼
lesei 发表于:2023/9/19 22:05:00
能否设定某列的值(比如,逻辑列)不能手动修改,但可以用代码修改?
2楼
有点蓝 发表于:2023/9/19 22:34:00
http://www.foxtable.com/webhelp/topics/0605.htm

在该表的PrepareEdit事件中输入:

If e.Col.Name = "某逻辑列" Then

    e.Cancel = True
End
 
If

3楼
lesei 发表于:2023/10/18 19:21:00
伟大的版主,请问为什么会这样?设定的cancel对代码为什么不起作用?
4楼
有点蓝 发表于:2023/10/18 19:58:00
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=150626
5楼
lesei 发表于:2023/10/18 20:53:00
1.起初,我的问题是:
能否设定某列的值(比如,逻辑列)不能手动修改,但可以用代码修改?
2.您回答给出了一段代码。
3.我在追问:
为什么您的代码能解决问题1?
因为按道理来说,无论是手动更改,还是代码更改,都应该会触发对应的事件,比如prepareedit,或者datacokchanging。
但为什么设定的cancel对“代码更改”无法阻拦,但对“手动更改”可以阻拦?原理是什么?
[此贴子已经被作者于2023/10/18 20:52:57编辑过]
6楼
有点蓝 发表于:2023/10/18 21:05:00
注意看帮助每个事件的说明呗。有些事件比如PrepareEdit事件只有在单元格操作才会触发。

不过datacokchanging设定的cancel对“代码更改”一样可以阻拦,不要想当然,还是要仔细理解帮助的说明
共6 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 2 queries.