Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]窗口列表项目权限控制

1楼
lgj716330 发表于:2024/10/21 9:12:00

’AfterLoad事件


Dim dwqx As String
If _UserRoles.Contains("系统主管") = False Then
    Dim strs As String() = _UserRoles.split(",")
    Dim rs As String
    For Each ss As String In strs
        rs = rs & ",'" & ss & "'"
    Next
    Dim drs As List(Of DataRow)
    drs = DataTables("用户角色档案").Select("角色 in (" & rs.trim(",") & ")")
    If drs.Count > 0 Then
        For Each dr As DataRow In drs
            dwqx = dr("核算单位权限") ‘核算单位权限列为多值字段
        Next
    End If 
End If
Dim cmb As WinForm.CheckedComboBox = e.form.Controls("HSDW")
cmb.ComboList = DataTables("列表项目").GetComboListString("核算组织", "核算组织 In ( '" & dwqx.replace(",", "','") & "')")

提示以下错误,不知哪里有误

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

2楼
有点蓝 发表于:2024/10/21 9:22:00
调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看哪一句代码出错
3楼
lgj716330 发表于:2024/10/21 10:37:00
_UserRoles.Contains("系统主管") = False,这里有问题。自定义用户
4楼
有点蓝 发表于:2024/10/21 10:38:00
_UserRoles没有值,是空对象
5楼
lgj716330 发表于:2024/10/21 11:53:00
Dim dwqx As String
If User.Type = UserTypeEnum.User Then
    Dim strs As String() = _UserRoles.split(",")
    For Each ss As String In strs
        Dim dr As DataRow
        dr = DataTables("用户角色档案").Find("角色 = '" & ss & "'")
        If dr IsNot Nothing Then '如果找到的话
            dwqx = dr("核算单位权限")
        End If 
    Next
End If

核算单位权限是多值字段,假设这个用户有两个角色,角色1的核算单位权限是AA,BB,角色2的核算单位权限是BB,CC,如何将找到的这两个角色的核算单位权限合并且去重,结果要是AA,BB,CC
6楼
有点蓝 发表于:2024/10/21 11:57:00
使用集合判断去重,类似:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=175348&page=1&star=13
共6 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.