Foxtable(狐表)用户栏目专家坐堂 → 树节点如何插入一个已有的节点


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

主题:树节点如何插入一个已有的节点

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


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
树节点如何插入一个已有的节点  发帖心情 Post By:2017/6/17 14:10:00 [只看该作者]

一个 TreeView, 假设节点如下    A 下面有B, B 下面有 C, c下面有 d,e,f 等等 也就是说  B 是A的子节点, C 是B的子节点,以此类推

这个 TreeView 形成以后, a,b,c,d  等 也都已经形成  了  TreeNode

现在 我想 快速的 把 C 从 B下面 挪到  A下面,但是  def 等仍然是 C 下级节点

这样需要两步:

1   先将  C  脱离 原来的 父节点 B, 这个好做, 用 Nodes.remove  可以轻松移走

2  再将 c  放在 A 下面, 这个比较麻烦, 因为  Nodes 下面的 add  和 inset  后面的参数 都是  字符串,而不是一个 treenode, 而我这个 c 已经形成了treenode,如果用 add方法,势必c 下面的很多子节点也要重新生成,影响效率,也容易出错

请问 第二部有没有什么好方法,将一个已有的节点 放在另一个节点下面?



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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/17 15:16:00 [只看该作者]


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


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2017/6/17 15:26:00 [只看该作者]

这个页面里面的   add  和 insert 的参数 也都是  字符串呀

另外上移,下移,左移, 右移 也不适合,因为不知道会移到什么地方 

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/17 15:33:00 [只看该作者]

1、

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")

Dim a As WinForm.TreeNode = trv.Nodes(0)
Dim b As WinForm.TreeNode = a.Nodes(0)
Dim c As WinForm.TreeNode = b.Nodes(0)
b.Nodes.Remove(c)
a.basenode.Nodes.Add(c.basenode)


2、

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")

Dim a As WinForm.TreeNode = trv.Nodes(0)
Dim b As WinForm.TreeNode = a.Nodes(0)
Dim c As WinForm.TreeNode = b.Nodes(0)
b.Nodes.Remove(c)
Dim c1 As WinForm.TreeNode = a.Nodes.Add(c.Name,c.Text)
For Each c2 As WinForm.TreeNode In c.Nodes
    c1.Nodes.Add(c1.Name,c2.Text)
Next

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


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2017/6/17 15:55:00 [只看该作者]

请问 为什么  a.basenode.Nodes.Add(c.basenode)
 这个使用方法 在 帮助文档里面找不到呢?

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/17 16:08:00 [只看该作者]

.net的用法。

 回到顶部