以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 内部函数的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=48747) |
-- 作者:小猪鑫鑫 -- 发布时间:2014/4/4 10:19:00 -- 内部函数的问题 Bin老师:我想把下面这段窗口权限代码写成一个函数,然后在每个需要权限控制的窗口的afterload事件中调用这个函数
For Each dr As DataRow In DataTables("SY系统权限表").Select("分组名称 = \'" & User.name & "\'" ) If dr.IsNull("按扭名") =False Then e.Form.Controls(dr("按扭名")).Visible = Not dr("不可见") e.Form.Controls(dr("按扭名")).Enabled = Not dr("不可用") End If Next
但是我不会写这个函数,同时窗口的afterload事件中怎么样调用这个函数,我搞了好久了,搞不定,请您帮我! |
-- 作者:逛逛 -- 发布时间:2014/4/4 10:25:00 --
Dim e as Object = Args(0) For Each dr As DataRow In DataTables("SY系统权限表").Select("分组名称 = \'" & User.name & "\'" ) If dr.IsNull("按扭名") =False Then e.Form.Controls(dr("按扭名")).Visible = Not dr("不可见") e.Form.Controls(dr("按扭名")).Enabled = Not dr("不可用") End If Next
Functions.Execute(函数名,e) |
-- 作者:lsy -- 发布时间:2014/4/4 10:29:00 -- 以下是引用逛逛在2014-4-4 10:25:00的发言:
Dim e as Object = Args(0) For Each dr As DataRow In DataTables("SY系统权限表").Select("分组名称 = \'" & User.name & "\'" ) If dr.IsNull("按扭名") =False Then e.Form.Controls(dr("按扭名")).Visible = Not dr("不可见") e.Form.Controls(dr("按扭名")).Enabled = Not dr("不可用") End If Next
Functions.Execute(函数名,e) 关键就在这个小姨子(e)。 |
-- 作者:逛逛 -- 发布时间:2014/4/4 10:33:00 --
不过,通用函数还是多加一些必要的检查为好,如控件是否存在,否则一不小心就出错。 |
-- 作者:小猪鑫鑫 -- 发布时间:2014/4/4 10:34:00 -- 谢谢逛逛,非常好,谢谢
|