以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]目录树授权问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74408)
|
-- 作者:leopain
-- 发布时间: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()
|
-- 作者:大红袍
-- 发布时间: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
-- 发布时间: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
|
-- 作者:大红袍
-- 发布时间:2015/9/10 12:23:00
--
什么意思,什么错误。例子发上来
|
-- 作者:leopain
-- 发布时间:2015/9/10 12:48:00
--
“未将对象引用设置到对象的实例。”这个错误 在点击TreeView2的勾选框时弹出的
|
-- 作者:leopain
-- 发布时间:2015/9/10 13:34:00
--
[此贴子已经被作者于2015/9/10 13:38:08编辑过]
|
-- 作者:大红袍
-- 发布时间: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
|