Foxtable(狐表)用户栏目专家坐堂 → [求助]权限设置


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

主题:[求助]权限设置

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


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]权限设置  发帖心情 Post By:2021/8/18 16:48:00 [只看该作者]

用户管理采用的是自定义的,在设置权限窗口时下面的AfterLoad代码出错

msgbox(1)
Dim trv1 As WinForm.TreeView = e.Form.Controls("用户列表")
For Each us As UserInfo In Users
    If us.Type = UserTypeEnum.User Then
        If trv1.Nodes.Contains(_UserGroup) = False Then
            trv1.Nodes.Add(_UserGroup)
        End If
        trv1.Nodes(_UserGroup).Nodes.Add(_UserName)
     End If
Next
msgbox(2)

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20210818164736.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2021/8/18 16:49:21编辑过]

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


加好友 发短信
等级:超级版主 帖子:106763 积分:543016 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/18 16:55:00 [只看该作者]

msgbox(_UserGroup)
msgbox(_UserName)

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


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2021/8/18 18:19:00 [只看该作者]

显示是空值

自定义用户管理 ,下面这样是不是不行
For Each us As UserInfo In Users
    If us.Type = UserTypeEnum.User Then
[此贴子已经被作者于2021/8/18 18:21:23编辑过]

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


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

显示是空值,说明登录后没有给这些_UserGroup变量赋值

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


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2021/8/21 9:02:00 [只看该作者]

通过以下代码设置列不可见后,打开表时确实不可见,但仍可以通过取消隐藏列重新显示,有什么办法可以控制没办法通过取消隐藏列来重新显示呢
If User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("授权表").Select("用户名 = '" & User.Name & "'" )
        If
 dr.IsNull("列名"
Then
        
    Tables(dr("表名")).Visible = Not dr("不可见")
            Tables
(dr("表名")).AllowEdit = Not dr("不可编辑")

        Else
            
Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables
(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
        End
 
If
    Next
End
 
If

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


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

隐藏或者删除菜单里的“取消隐藏列”功能

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


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2021/8/21 9:36:00 [只看该作者]

如何隐藏右键快捷菜单中的某个功能

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


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


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


加好友 发短信
等级:八尾狐 帖子:1815 积分:19269 威望:0 精华:0 注册:2013/4/10 14:38:00
  发帖心情 Post By:2021/8/21 10:55:00 [只看该作者]

用  Remove  用了之后,你再看下

Remove方法从Table中移除指定的列,注意是移除,不是删除,被移除的列继续存在于DataTable中,该列还可以正常参与各种计算,只是用户再也看不到这一列。
移除列类似于隐藏列,不过被隐藏的列,用户可以通过菜单命令撤销隐藏,而被移除的列,除非重新打开项目文件,否则用户再也无法看到该列。

语法:

Remove(ColName1, ColName2, ColName3...)

ColName1: 字符型,指定要移除列的列名称,可以指定任意多列。

例如在订单表中移除折扣列:

If Tables("订单").Cols.Contains("折扣") Then
    Tables("订单").Cols.Remove("折扣")
End If

也可以一次移除多列,例如:

Tables("订单").Cols.Remove("折扣","金额")

[此贴子已经被作者于2021/8/21 10:55:20编辑过]

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


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

使用移除功能对于切换登录用户不是很友好,因为需要重新加载表格才能看到被移除的列

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