Foxtable(狐表)用户栏目专家坐堂 → 关于表事件变量的问题


  共有4633人关注过本帖树形打印复制链接

主题:关于表事件变量的问题

帅哥哟,离线,有人找我吗?
jiterp
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:715 积分:8574 威望:0 精华:0 注册:2011/11/13 15:49:00
关于表事件变量的问题  发帖心情 Post By: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

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:715 积分:8574 威望:0 精华:0 注册:2011/11/13 15:49:00
  发帖心情 Post By:2022/4/13 8:57:00 [只看该作者]

在命令窗口运行不了第一句,提示table不是e成员。

在表事件是用消息弹窗,弹出确实是这个表名abc,但是这段代码就是无效。
[此贴子已经被作者于2022/4/13 9:00:02编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/13 9:00:00 [只看该作者]

代码仍然是放到PrepareEdit,

命令窗口不需要添加任何代码,只是打开即可,然后到表格里测试,看命令窗口输出什么结果

 回到顶部
帅哥哟,离线,有人找我吗?
jiterp
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:715 积分:8574 威望:0 精华:0 注册:2011/11/13 15:49:00
  发帖心情 Post By:2022/4/13 9:29:00 [只看该作者]

试了,表名确实是相同的,但就是不执行


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/13 9:56:00 [只看该作者]

请上传实例测试

 回到顶部
帅哥哟,离线,有人找我吗?
jiterp
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:715 积分:8574 威望:0 精华:0 注册:2011/11/13 15:49:00
  发帖心情 Post By:2022/4/13 10:33:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


窗口中的税率设置了不可编辑,但是还是可以编辑。

刚才的问题,应该是关联表的原因,它取的名字是关联表的名称,我改了取值,是对的;
现在是另外一个问题:实例中的税率,如果不在表控件上,而是放在文本控件上,还是不受控制,还是可以编辑的。
[此贴子已经被作者于2022/4/13 10:35:53编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/13 10:39:00 [只看该作者]

指在窗口控件中录入控制?这种不能在表事件处理,要另外控制:http://www.foxtable.com/webhelp/topics/2342.htm

另外PrepareEdit的用法也不正确,不应该设置AllowEdit ,应该使用e.cancel=true来限制不能在表格录入

 回到顶部