Foxtable(狐表)用户栏目专家坐堂 → 目录树添加节点报错


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

主题:目录树添加节点报错

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


加好友 发短信
等级:小狐 帖子:363 积分:3463 威望:0 精华:0 注册:2012/7/24 7:15:00
目录树添加节点报错  发帖心情 Post By:2018/3/29 10:40:00 [只看该作者]

目录树在手动添加第二层、第三层节点的时候报错:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180329103528.jpg
图片点击可在新窗口打开查看
代码如下:

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

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

请问,是哪里错了,怎么改?谢谢!

原来的时候最多四层结构,不报错,今天又加上了两层,报错
[此贴子已经被作者于2018/3/29 10:41:43编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/29 10:45:00 [只看该作者]

没必要这样处理,如果要得到各个节点的值,参考这种做法(FullPath),如

 

Dim Value() As String
Value = nd.FullPath.Split("\")

msgbox(value.length)

msgbox(value(0))

msgbox(value(1))

 

 


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


加好友 发短信
等级:小狐 帖子:363 积分:3463 威望:0 精华:0 注册:2012/7/24 7:15:00
  发帖心情 Post By:2018/3/29 10:53:00 [只看该作者]

你们是专业的,我不是专业的,您还是指点我在原代码上改一下吧

Dim tr As WinForm.TreeView
tr = e.Form.Controls("TreeView2")
Dim nd As WinForm.TreeNode
nd = tr.SelectedNode
Dim pd As WinForm.TreeNode
pd = nd.ParentNode
Dim sd As winform.treenode
sd = pd.ParentNode
Dim wd As WinForm.TreeNode
wd = sd.ParentNode
If nd IsNot Nothing Then
    If nd.Level = 5 Then
        MessageBox.Show("最多允许六层结构!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Else
        Dim dr As DataRow = DataTables("组织机构和职责").AddNew
        If nd.Level = 0 Then
            dr("企业名称") = nd.Text
            dr("部门设置") = "新节点"
        ElseIf nd.Level = 1
            dr("企业名称") = pd.Text
            dr("部门设置") = nd.text
            dr("岗位设置") = "新节点"
        ElseIf nd.Level = 2
            dr("企业名称") = sd.Text
            dr("部门设置") = pd.Text
            dr("岗位设置") = nd.text
            dr("第四层机构设置") = "新节点"
        ElseIf nd.Level = 3
            dr("企业名称") = wd.Text
            dr("部门设置") = sd.Text
            dr("岗位设置") = pd.Text
            dr("第四层机构设置") = nd.text
            dr("第五层机构设置") = "新节点"
        ElseIf nd.Level = 4
            dr("企业名称") = wd.ParentNode.Text
            dr("部门设置") = wd.Text
            dr("岗位设置") = sd.Text
            dr("第四层机构设置") = pd.Text
            dr("第五层机构设置") = nd.text
            dr("第六层机构设置") = "新节点"
        End If
        nd = nd.Nodes.Add("新节点")
        tr.SelectedNode = nd
        tr.Select()
        tr.BeginEdit()
    End If
End If


谢谢了!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/29 10:57:00 [只看该作者]

Dim tr As WinForm.TreeView
tr = e.Form.Controls("TreeView2")
Dim nd As WinForm.TreeNode
nd = tr.SelectedNode
Dim ary = nd.FullPath.Split("\")
If nd IsNot Nothing Then
    If nd.Level = 5 Then
        MessageBox.Show("最多允许六层结构!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Else
        Dim dr As DataRow = DataTables("组织机构和职责").AddNew
        If nd.Level = 0 Then
            dr("企业名称") = ary(0)
            dr("部门设置") = "新节点"
        ElseIf nd.Level = 1
            dr("企业名称") = ary(0)
            dr("部门设置") = ary(1)
            dr("岗位设置") = "新节点"
        ElseIf nd.Level = 2
            dr("企业名称") = ary(0)
            dr("部门设置") = ary(1)
            dr("岗位设置") = ary(2)
            dr("第四层机构设置") = "新节点"
        ElseIf nd.Level = 3
            dr("企业名称") = ary(0)
            dr("部门设置") = ary(1)
            dr("岗位设置") = ary(2)
            dr("第四层机构设置") = ary(3)
            dr("第五层机构设置") = "新节点"
        ElseIf nd.Level = 4
            dr("企业名称") = ary(0)
            dr("部门设置") = ary(1)
            dr("岗位设置") = ary(2)
            dr("第四层机构设置") = ary(3)
            dr("第五层机构设置") = ary(4)
            dr("第六层机构设置") = "新节点"
        End If
        nd = nd.Nodes.Add("新节点")
        tr.SelectedNode = nd
        tr.Select()
        tr.BeginEdit()
    End If
End If

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


加好友 发短信
等级:小狐 帖子:363 积分:3463 威望:0 精华:0 注册:2012/7/24 7:15:00
  发帖心情 Post By:2018/4/6 20:37:00 [只看该作者]

谢谢老师了

 回到顶部