以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=152190)

--  作者:LXP166
--  发布时间:2020/7/9 10:02:00
--  [求助]
请问各位老师 下面程序执行在用窗口做两个按钮实验时没问题,正式运行的时候,红色那一句话条件成立,执行后没反应。
请帮忙分析。
该程序在窗口afterlode 事件下 


If User.Type = UserTypeEnum.User Then
    For Each c As WinForm.Control In e.Form.Controls
        c.Enabled = False
    Next
    Dim drs As List(Of DataRow)
    drs = DataTables("授权").Select(" [用户]   Like  \'%"  &  user.group  & "%\'    And   [分组] =  \'"   &  e.Form.name  &  "\'"    )
    If  drs.count > 0  Then
        For Each dr As DataRow In drs
            If dr.IsNull("权限") Then
                For Each c As WinForm.Control In e.Form.Controls
                    c.Enabled = True
                Next
            Else
                e.Form.Controls(dr("权限")).Enabled =  True
            End If
        Next
    Else
        MessageBox.show("您不能使用该功能")
        Forms(e.Form.name  ).close()
        \'
    End If
End If

--  作者:有点蓝
--  发布时间:2020/7/9 10:17:00
--  
授权表数据是怎么样的,什么代码只有其中有给权限值为空就已经解锁所有控件了,还有必要去设置其它有权限的控件么

另外第2~4行的遍历代码会把panel、tabcontrol等容器也禁用了,如果按钮等控件是放到容器里的,单独启用按钮是没有用的,还要同时设置上层的容器才行

--  作者:LXP166
--  发布时间:2020/7/9 10:27:00
--  

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

--  作者:LXP166
--  发布时间:2020/7/9 10:33:00
--  
这是窗体 


--  作者:LXP166
--  发布时间:2020/7/9 10:36:00
--  
这是窗体,有表、按钮、和splitcontainer 空间组成, 按钮在面板上。

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


--  作者:LXP166
--  发布时间:2020/7/9 10:46:00
--  
好了,谢谢老师的指教