Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
下面这段代码为何总是报错?
Dim cmd1 As New SQLCommand
Dim dt1 As DataTable
cmd1.C
cmd1.CommandText ="select [功能区],[功能组],[菜单项],[开通权限] from {组权限} where [用户名]= '李四'"
dt1 = cmd1.ExecuteReader
If dt1 IsNot Nothing Then
For Each dr1 As DataRow In dt1.DataRows
RibbonTabs(dr1("功能区")).Groups(dr1("功能组")).Items(dr1("菜单项")).Enabled = (dr1("开通权限")= -1)
Next
End If
下载信息 [文件大小: 下载次数: ] | |
![]() |
If dt1 IsNot Nothing Then 》》》 If dt1.datarows.count > 0 Then 试试看
也许列名称有误 或 条件不成立。
请看一楼附件,附件窗口1的登录按钮中使用这段代码,就会报错:
If dr("用户组")<>"管理员" Then '如果不是管理员,
Dim cmd1 As New SQLCommand
Dim dt1 As DataTable
cmd1.C
cmd1.CommandText ="select [功能区],[功能组],[菜单项],[开通权限] from {组权限} where [用户名]='"& UserName &"'"
dt1 = cmd1.ExecuteReader
If dt1 IsNot Nothing Then
For Each dr1 As DataRow In dt1.DataRows
RibbonTabs(dr1("功能区")).Groups(dr1("功能组")).Items(dr1("菜单项")).Enabled = (dr1("开通权限")=True)
Next
Else
For Each rb As RibbonMenu.Tab In RibbonTabs
For Each gp As RibbonMenu.Group In rb.Groups
For Each itm As RibbonMenu.RibbonItem In gp.Items
itm.Enabled = False
Next
Next
Next
End If
Else '如果是管理员,
For Each rb As RibbonMenu.Tab In RibbonTabs
For Each gp As RibbonMenu.Group In rb.Groups
For Each itm As RibbonMenu.RibbonItem In gp.Items
itm.Enabled = True
Next
Next
Next
End If
做例子上传。
我这样试了一下
Dim UserName As String = "李四"
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim a As Integer
cmd.C
cmd.CommandText ="select [功能区],[功能组],[菜单项],[开通权限] from {组权限} where [用户名]='"& UserName &"'"
dt = cmd.ExecuteReader
If dt IsNot Nothing Then
For Each dr As DataRow In dt.DataRows
Output.show(dr("功能区") & dr("功能组") & dr("菜单项") & dr("开通权限")) '在这里插入一行显示数据是正常的
RibbonTabs(dr("功能区")).Groups(dr("功能组")).Items(dr("菜单项")).Enabled = dr("开通权限") '这里执行就会提示错误,不存在名称为""的datatable
Next
End If
老大,将下面这行代码
RibbonTabs(dr("功能区")).Groups(dr("功能组")).Items(dr("菜单项")).Enabled = dr("开通权限")
改为下面的代码就可以了
Dim rb As RibbonMenu.Tab = RibbonTabs(dr("功能区"))
Dim gp As RibbonMenu.Group = rb.Groups(dr("功能组"))
Dim itm As RibbonMenu.RibbonItem = gp.Items(dr("菜单项"))
itm.Enabled = dr("开通权限")
不知道这是为啥呢