Foxtable(狐表)用户栏目专家坐堂 → [求助]关于按钮授权


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

主题:[求助]关于按钮授权

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


加好友 发短信
等级:幼狐 帖子:135 积分:1088 威望:0 精华:0 注册:2015/3/16 16:42:00
[求助]关于按钮授权  发帖心情 Post By:2015/8/11 12:04:00 [只看该作者]

有一个表叫“按钮授权”
表中有两个字段:按钮名,用户名
按钮名有如下:员工信息,外销合同,采购合同
用户名:取值表来自员工表,取值字段和显示字段都是用户名,可同时取多个。

目的:对于一个按钮,用户名里有的人才可以看到这个按钮。

是不是在表事件AfterLoad里写代码?怎么写?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:135 积分:1088 威望:0 精华:0 注册:2015/3/16 16:42:00
  发帖心情 Post By:2015/8/11 15:39:00 [只看该作者]

.NET Framework 版本:2.0.50727.5477
Foxtable 版本:2014.11.11.1
错误所在事件:表,ButtonRight,PrepareEdit
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。


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


加好友 发短信
等级:超级版主 帖子:106464 积分:541467 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/11 15:50:00 [只看该作者]

If typeof c Is winform.button Then 下
加个 Dim b as WinForm.Button = c
把下面的c都改为b

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/11 15:52:00 [只看该作者]

不要写到 PrepareEdit 事件,2楼的代码是写到afterLoad事件的啊。

 

 贴出你 PrepareEdit 事件的代码。


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


加好友 发短信
等级:幼狐 帖子:135 积分:1088 威望:0 精华:0 注册:2015/3/16 16:42:00
  发帖心情 Post By:2015/8/11 15:58:00 [只看该作者]

.NET Framework 版本:2.0.50727.5477
Foxtable 版本:2014.11.11.1
错误所在事件:窗口,MainPage,AfterLoad
详细错误信息:
表达式包含不支持的运算符“&”。


不过,效果是达到了。只是提示上面这个错误。

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


加好友 发短信
等级:幼狐 帖子:135 积分:1088 威望:0 精华:0 注册:2015/3/16 16:42:00
  发帖心情 Post By:2015/8/11 16:15:00 [只看该作者]

我是把上面代码放在主窗口(就是登录后第一个出现的窗口)的AfterLoad里了

请问这个报错是那个&出问题了呢?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/11 16:51: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:135 积分:1088 威望:0 精华:0 注册:2015/3/16 16:42:00
  发帖心情 Post By:2015/8/11 17:32:00 [只看该作者]

EXCELLENT!!!
感谢!

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


加好友 发短信
等级:幼狐 帖子:135 积分:1088 威望:0 精华:0 注册:2015/3/16 16:42:00
  发帖心情 Post By:2015/8/12 16:31:00 [只看该作者]

还是有问题,上传了例子。麻烦老师看一下。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:编程测试_201508121628.zip


 回到顶部
总数 18 1 2 下一页