以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  隐藏菜单问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=112826)

--  作者:edisontsui
--  发布时间:2018/1/3 16:46:00
--  隐藏菜单问题
我想实现如下目标:当“营销”这个组别的人进入系统并且在使用含有“开料表”三个字的数据表时,就隐藏“重置列”这个菜单。afteropenproject 的代码如下:

If User.Group = "营销" 
        Dim name As String = CurrentTable.name
    if name.Contains("开料单") Then
        RibbonTabs("Table").Groups("column").Items("reset").Visible = False
    Else
        RibbonTabs("Table").Groups("column").Items("reset").Visible = True
    End If
end if

但是我用“营销”这个组别的用户名登陆之后,发现还是能够看见“重置列”这个菜单。这是为什么呢? 谢谢。

--  作者:有点甜
--  发布时间:2018/1/3 17:23:00
--  
你的代码要写到CurrentTableChanged事件去。
--  作者:edisontsui
--  发布时间:2018/1/3 18:06:00
--  
我在 Maintablechanged 里面使用下列代码

If User.Group = "营销" 
    Select Case MainTable.name
        Case "弯头开料单","直身开料单","珠江弯头开料单","珠江直身开料单"
        RibbonTabs("Table").Groups("column").Items("reset").Enabled = False
    End Select
End If

但是设置好后登陆是会警告:不存在名为column的功能组。
这是问什么呢?谢谢。

--  作者:edisontsui
--  发布时间:2018/1/3 18:37:00
--  
我在 Maintablechanged 里面使用下列代码

If User.Group = "营销" 
    Select Case MainTable.name
        Case "弯头开料单","直身开料单","珠江弯头开料单","珠江直身开料单"
        RibbonTabs("Table").Groups("column").Items("reset").Enabled = False
    End Select
End If
但是测试时没有达到效果。

--  作者:有点甜
--  发布时间:2018/1/3 21:55:00
--  

注意菜单名称的大小写问题,试试改成

 

RibbonTabs("Table").Groups("Column").Items("Reset").Enabled=False


--  作者:edisontsui
--  发布时间:2018/1/4 13:07:00
--  
我改了一下代码,而且也留意菜单名称的大写问题了,但还是没有效果:

If User.Group = "营销" 
    Select Case MainTable.Name
        Case "弯头开料单","直身开料单","珠江弯头开料单","珠江直身开料单"
        RibbonTabs("Table").Groups("Column").Items("Reset").Visible = False
        Case Else
        RibbonTabs("Table").Groups("Column").Items("Reset").Visible = True
    End Select
End If

--  作者:有点甜
--  发布时间:2018/1/4 15:00:00
--  

改成这样,看弹出什么

 

msgbox(user.group)
If User.Group = "营销"
    msgbox(MainTable.name)
    Select Case MainTable.Name
        Case "弯头开料单","直身开料单","珠江弯头开料单","珠江直身开料单"
            msgbox(1)
            RibbonTabs("Table").Groups("Column").Items("Reset").Visible = False
        Case Else
            msgbox(2)
            RibbonTabs("Table").Groups("Column").Items("Reset").Visible = True
    End Select
End If


--  作者:edisontsui
--  发布时间:2018/1/4 15:58:00
--  
我用营销那个组别的用户登陆,警告框出现“营销”两个字,我点击“确定”后出现“物料字典” (备注:物料字典是另外一个数据表),再按“确定”后,出现“2”。
--  作者:edisontsui
--  发布时间:2018/1/4 16:00:00
--  
再按“确定”后,警告框消失,但是系统也死机了。
--  作者:有点甜
--  发布时间:2018/1/4 16:31:00
--  
以下是引用edisontsui在2018/1/4 16:00:00的发言:
再按“确定”后,警告框消失,但是系统也死机了。

 

单独做个例子发过来测试。