Foxtable(狐表)用户栏目专家坐堂 → 下面这段代码为何总是报错?


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

主题:下面这段代码为何总是报错?

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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
下面这段代码为何总是报错?  发帖心情 Post By:2011/5/18 20:10:00 [显示全部帖子]

下面这段代码为何总是报错?

 

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

 


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

图片点击可在新窗口打开查看此主题相关图片如下:screenshot32.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目24_0519.zip

[此贴子已经被作者于2011-5-19 9:50:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
唐尸三摆手
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2011/5/19 8:11:00 [显示全部帖子]

还是不行 ,就是搞不懂,为什么会出现提示“不存在名称为""的datatable”呢?
[此贴子已经被作者于2011-5-19 8:16:05编辑过]

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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2011/5/19 9:51:00 [显示全部帖子]

请看一楼附件,附件窗口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

[此贴子已经被作者于2011-5-19 10:34:27编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
唐尸三摆手
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2011/5/19 10:16:00 [显示全部帖子]

见附件或一楼附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目24_0519.zip

[此贴子已经被作者于2011-5-19 10:16:36编辑过]

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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
EXCEL报表中如何将逻辑列值标记为勾或叉?  发帖心情 Post By:2011/5/19 10:40:00 [显示全部帖子]

我这样试了一下

 

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

[此贴子已经被作者于2011-5-19 10:40:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
唐尸三摆手
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
EXCEL报表中如何将逻辑列值标记为勾或叉?  发帖心情 Post By:2011/5/19 10:48:00 [显示全部帖子]

老大,将下面这行代码

       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("开通权限")

 

不知道这是为啥呢

[此贴子已经被作者于2011-5-19 10:48:32编辑过]

 回到顶部