Foxtable(狐表)用户栏目专家坐堂 → [求助]目录树授权问题


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

主题:[求助]目录树授权问题

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


加好友 发短信
等级:幼狐 帖子:172 积分:1188 威望:0 精华:0 注册:2015/8/5 16:45:00
[求助]目录树授权问题  发帖心情 Post By:2015/9/10 11:32:00 [只看该作者]

老师

我用例子里的目录树授权代码 用户数据表来自外部数据源

之前一直好好的 但是怎么会突然出现

未将对象引用设置到对象的实例。”的错误呢

 

Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
trv1.BuildTree("授权管理","分组|权限")
For Each u As UserInfo In Users
    If u.Type = UserTypeEnum.User Then
        If trv2.Nodes.Contains(u.Group) = False Then
            trv2.Nodes.Add(u.Group)
        End If
        trv2.Nodes(u.Group).Nodes.Add(u.Name)
    End If
Next
Trv1.Nodes(0).Expand()
trv2.ExpandAll()


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/10 11:38:00 [只看该作者]

Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
trv1.BuildTree("授权管理","分组|权限")
trv2.BuildTree("users","group|name")
Trv1.Nodes(0).Expand()
trv2.ExpandAll()

[此贴子已经被作者于2015/9/10 11:37:57编辑过]

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


加好友 发短信
等级:幼狐 帖子:172 积分:1188 威望:0 精华:0 注册:2015/8/5 16:45:00
  发帖心情 Post By:2015/9/10 12:04:00 [只看该作者]

额...TreeView2的代码也出现这种错误

Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
Dim nd1 As WinForm.TreeNode = trv1.SelectedNode
Dim dr As DataRow
If e.Node.ParentNode IsNot Nothing Then '取消父节点的选中标记,因为选中子节点,就不要选中父节点了
    e.Node.ParentNode.Checked = False
End If
For Each cnd As WinForm.TreeNode In e.Node.Nodes '取消子节点的选中标记,因为选中父节点,就不要选中子节点了
    cnd.Checked = False
Next
If nd1.Level = 0 Then
    dr = DataTables("授权管理").Find("分组 = '" & nd1.Name & "' And 权限 Is Null")
Else
    dr = DataTables("授权管理").Find("分组 = '" & nd1.ParentNode.Name & "' And 权限 = '" & nd1.Name & "'")
End If
If dr IsNot Nothing Then
    Dim nms As String
    For Each nd2 As WinForm.TreeNode In trv2.AllNodes
        If nd2.Checked  Then
            nms  = nms & "," &  nd2.Name
        End If
    Next
    If nms > "" Then
        dr("用户") = nms.Trim(",")
    Else
        dr("用户") = Nothing
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/10 12:23:00 [只看该作者]

什么意思,什么错误。例子发上来

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


加好友 发短信
等级:幼狐 帖子:172 积分:1188 威望:0 精华:0 注册:2015/8/5 16:45:00
  发帖心情 Post By:2015/9/10 12:48:00 [只看该作者]

未将对象引用设置到对象的实例。”这个错误 在点击TreeView2的勾选框时弹出的

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


加好友 发短信
等级:幼狐 帖子:172 积分:1188 威望:0 精华:0 注册:2015/8/5 16:45:00
  发帖心情 Post By:2015/9/10 13:34:00 [只看该作者]

 

[此贴子已经被作者于2015/9/10 13:38:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/10 14:08:00 [只看该作者]

Dim nd1 As WinForm.TreeNode = trv1.SelectedNode

改成

 

Dim nd1 As WinForm.TreeNode = trv1.SelectedNode
If nd1 Is Nothing Then Return


 回到顶部