以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]目录树  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54239)

--  作者:lesliecheung912
--  发布时间:2014/7/24 10:57:00
--  [求助]目录树
现有目录树共有7层:单位名称,部门体系,工作部门,办事处,岗位名称,职位层级,职系,职位职级
增加办事处的代码为:
Dim tr As WinForm.TreeView
Dim nd As WinForm.TreeNode
tr = e.Form.Controls("TreeView1")
nd = tr.SelectedNode
If nd IsNot Nothing Then
    If nd.Level = 6 Then
        MessageBox.Show("最多允许7层节点!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    ElseIf nd.Level = 1 Then
        Dim dr As DataRow = DataTables("部门岗位").Find("部门体系=\'" &nd.ParentNode.Text & "\' and 部门名称=\'" & nd.text & "\' and 办事处 is null")
        If dr Is Nothing Then
            dr = DataTables("部门岗位").AddNew
        End If
        dr("单位名称")="XX有限公司"
        dr("部门体系") = nd.ParentNode.Text
        dr("部门名称") = nd.Text
        dr("办事处") = "请增加办事处"
        
        nd = nd.Nodes.Add("请增加办事处")
        tr.SelectedNode = nd
        tr.Select()
        tr.BeginEdit()
    End If
End If

但是在增加岗位以及更下层的内容时,部门体系等值应该如何取呢?比如增加岗位时
dr("部门名称") = nd.ParentNode.Text
那部门体系的值应该如何取得?


--  作者:lesliecheung912
--  发布时间:2014/7/24 11:02:00
--  
补充一下,此目录树对应着一个组织架构的表
--  作者:有点甜
--  发布时间:2014/7/24 11:04:00
--  

 fullpath fullname

 

http://www.foxtable.com/help/topics/0906.htm

 

http://www.foxtable.com/help/topics/2622.htm

 


--  作者:lesliecheung912
--  发布时间:2014/7/24 11:15:00
--  
这个不适用啊,我是通过目录树去给表增加内容,那个generate的方法则是通过内容生成目录树的
--  作者:有点甜
--  发布时间:2014/7/24 11:18:00
--  

 不明白你的意思,节点的FullPath属性不就是你要的内容么?


--  作者:lesliecheung912
--  发布时间:2014/7/24 11:42:00
--  
不会用...甜姐,麻烦您针对我这个例子简单写一下可以吗
--  作者:有点甜
--  发布时间:2014/7/24 11:46:00
--  
以下是引用lesliecheung912在2014-7-24 11:42:00的发言:
不会用...甜姐,麻烦您针对我这个例子简单写一下可以吗

 

类似这样

 


Dim Ary() As String = nd.FullPath.Split("\\")
msgbox(ary(0))
msgbox(ary(1))
msgbox(ary.length)


--  作者:lesliecheung912
--  发布时间:2014/7/24 12:04:00
--  
谢谢甜姐,还有个问题,就是有没有一种办法判断当前层次有多少个节点,
我想如果当前层次只有一个节点时,删除的时候只删除当前节点的内容而不删除当前行,
如果当前层次有多个节点时,删除的时候直接删除当前行

--  作者:有点甜
--  发布时间:2014/7/24 12:06:00
--  

 可以判断。

 

判断子节点 nd.nodes.count

 

判断父节点的子节点 nd.parentNode.nodes.count

[此贴子已经被作者于2014-7-24 12:06:16编辑过]