以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于按钮授权 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73034) |
||||
-- 作者:fred -- 发布时间:2015/8/11 12:04:00 -- [求助]关于按钮授权 有一个表叫“按钮授权” 表中有两个字段:按钮名,用户名 按钮名有如下:员工信息,外销合同,采购合同 用户名:取值表来自员工表,取值字段和显示字段都是用户名,可同时取多个。 目的:对于一个按钮,用户名里有的人才可以看到这个按钮。 是不是在表事件AfterLoad里写代码?怎么写?
|
||||
-- 作者:大红袍 -- 发布时间:2015/8/11 12:21:00 -- For Each c As WinForm.Control In e.Form.Controls If typeof c Is winform.button Then If DataTables("表A").find("第一列 = \'\' and (\',\' & 第二列 & \',\') like \'" & user.name & "\'") IsNot Nothing Then c.Enabled = True Else c.Enabled = False End If End If Next |
||||
-- 作者:fred -- 发布时间:2015/8/11 15:39:00 -- .NET Framework 版本:2.0.50727.5477 Foxtable 版本:2014.11.11.1 错误所在事件:表,ButtonRight,PrepareEdit 详细错误信息: 调用的目标发生了异常。 未将对象引用设置到对象的实例。 |
||||
-- 作者:有点蓝 -- 发布时间:2015/8/11 15:50:00 -- If typeof c Is winform.button Then 下 加个 Dim b as WinForm.Button = c把下面的c都改为b
|
||||
-- 作者:大红袍 -- 发布时间:2015/8/11 15:52:00 -- 不要写到 PrepareEdit 事件,2楼的代码是写到afterLoad事件的啊。
贴出你 PrepareEdit 事件的代码。 |
||||
-- 作者:fred -- 发布时间:2015/8/11 15:58:00 -- .NET Framework 版本:2.0.50727.5477 Foxtable 版本:2014.11.11.1 错误所在事件:窗口,MainPage,AfterLoad 详细错误信息: 表达式包含不支持的运算符“&”。 不过,效果是达到了。只是提示上面这个错误。
|
||||
-- 作者:fred -- 发布时间:2015/8/11 16:15:00 -- 我是把上面代码放在主窗口(就是登录后第一个出现的窗口)的AfterLoad里了 请问这个报错是那个&出问题了呢?
|
||||
-- 作者:大红袍 -- 发布时间:2015/8/11 16:51:00 -- 红色地方改一下
For Each c As WinForm.Control In e.Form.Controls |
||||
-- 作者:fred -- 发布时间:2015/8/11 17:32:00 -- EXCELLENT!!! 感谢!
|
||||
-- 作者:fred -- 发布时间:2015/8/12 16:31:00 -- 还是有问题,上传了例子。麻烦老师看一下。
|