以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于表事件变量的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=176431) |
||||
-- 作者:jiterp -- 发布时间:2022/4/13 8:11:00 -- 关于表事件变量的问题 我在PrepareEdit表事件中,定义了以下代码: If Functions.Execute("Sxsj","abc",e.Col.Name)>0 Then e.Col.AllowEdit = False End If 说明:abc是表名,上面代码执行,该列无法编辑;然后将表名abc改成下面的取值方式,结果该列并没控制,这是什么原因? If Functions.Execute("Sxsj",e.Table.Name,e.Col.Name)>0 Then e.Col.AllowEdit = False End If
|
||||
-- 作者:有点蓝 -- 发布时间:2022/4/13 8:41:00 -- 打开命令窗口,然后测试下面代码,看看表名是什么? output.show(e.Table.Name) If Functions.Execute("Sxsj",e.Table.Name,e.Col.Name)>0 Then e.Col.AllowEdit = False End If |
||||
-- 作者:jiterp -- 发布时间:2022/4/13 8:57:00 -- 在命令窗口运行不了第一句,提示table不是e成员。 在表事件是用消息弹窗,弹出确实是这个表名abc,但是这段代码就是无效。
[此贴子已经被作者于2022/4/13 9:00:02编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2022/4/13 9:00:00 -- 代码仍然是放到PrepareEdit, 命令窗口不需要添加任何代码,只是打开即可,然后到表格里测试,看命令窗口输出什么结果 |
||||
-- 作者:jiterp -- 发布时间:2022/4/13 9:29:00 -- 试了,表名确实是相同的,但就是不执行 |
||||
-- 作者:有点蓝 -- 发布时间:2022/4/13 9:56:00 -- 请上传实例测试 |
||||
-- 作者:jiterp -- 发布时间:2022/4/13 10:33:00 --
窗口中的税率设置了不可编辑,但是还是可以编辑。 刚才的问题,应该是关联表的原因,它取的名字是关联表的名称,我改了取值,是对的;
现在是另外一个问题:实例中的税率,如果不在表控件上,而是放在文本控件上,还是不受控制,还是可以编辑的。 [此贴子已经被作者于2022/4/13 10:35:53编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2022/4/13 10:39:00 -- 指在窗口控件中录入控制?这种不能在表事件处理,要另外控制:http://www.foxtable.com/webhelp/topics/2342.htm 另外PrepareEdit的用法也不正确,不应该设置AllowEdit ,应该使用e.cancel=true来限制不能在表格录入
|