以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]目录树 (http://foxtable.com/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的发言:
不会用...甜姐,麻烦您针对我这个例子简单写一下可以吗
类似这样
|
-- 作者: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编辑过]
|