Foxtable(狐表)用户栏目专家坐堂 → [求助]一个treeview的所有节点复制成另一个treeview的一个子节点


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

主题:[求助]一个treeview的所有节点复制成另一个treeview的一个子节点

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


加好友 发短信
等级:三尾狐 帖子:646 积分:4893 威望:0 精华:0 注册:2016/1/16 22:42:00
[求助]一个treeview的所有节点复制成另一个treeview的一个子节点  发帖心情 Post By:2016/9/22 15:33:00 [只看该作者]

一个treeview的所有节点复制成另一个treeview的一个子节点,能实现吗?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

不明白所有怎么变成一个,截图说明效果

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


加好友 发短信
等级:三尾狐 帖子:646 积分:4893 威望:0 精华:0 注册:2016/1/16 22:42:00
  发帖心情 Post By:2016/9/22 15:57:00 [只看该作者]

怎么没有图

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


加好友 发短信
等级:三尾狐 帖子:646 积分:4893 威望:0 精华:0 注册:2016/1/16 22:42:00
  发帖心情 Post By:2016/9/22 16:08:00 [只看该作者]

限定我上传图片了?

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


加好友 发短信
等级:三尾狐 帖子:646 积分:4893 威望:0 精华:0 注册:2016/1/16 22:42:00
  发帖心情 Post By:2016/9/22 16:16:00 [只看该作者]

是成为另外一个TREEVIEW子节点的一部分

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


加好友 发短信
等级:三尾狐 帖子:646 积分:4893 威望:0 精华:0 注册:2016/1/16 22:42:00
  发帖心情 Post By:2016/9/22 16:22:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:ggg1.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/9/22 16:23:00 [只看该作者]

这是一个目录树的节点整体复制到另一个目录树:

Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
Dim nodes As new Dictionary(of String ,Winform.TreeNode)
For Each nd As WinForm.TreeNode In trv1.allNodes
    If nd.Level = 0 Then
        nodes.add(nd.name, trv2.Nodes.Add(nd.fullname,nd.text,nd.IconFile))
    Else
        Dim pm As String = nd.FullName.SubString(0,nd.FullName.LastIndexOf("\"))
        nodes.add(nd.fullname ,nodes(pm).nodes.Add(nd.name,nd.text,nd.IconFile))
    End If
Next

你改一行代码,就可以复制到对应的节点
[此贴子已经被作者于2016/9/22 16:25:17编辑过]

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


加好友 发短信
等级:三尾狐 帖子:646 积分:4893 威望:0 精华:0 注册:2016/1/16 22:42:00
  发帖心情 Post By:2016/9/22 16:47:00 [只看该作者]

这个是完整复制,好像,我要复制在第二个treeview的某个节点下

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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/9/22 16:51:00 [只看该作者]

Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
Dim nodes As new Dictionary(of String ,Winform.TreeNode)
Dim pd As WinForm.TreeNode = 目标节点
For Each nd As WinForm.TreeNode In trv1.allNodes
    If nd.Level = 0 Then
        nodes.add(nd.name, pd.Nodes.Add(nd.fullname,nd.text,nd.IconFile))
    Else
        Dim pm As String = nd.FullName.SubString(0,nd.FullName.LastIndexOf("\"))
        nodes.add(nd.fullname ,nodes(pm).nodes.Add(nd.name,nd.text,nd.IconFile))
    End If
Next


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


加好友 发短信
等级:三尾狐 帖子:646 积分:4893 威望:0 精华:0 注册:2016/1/16 22:42:00
  发帖心情 Post By:2016/9/22 20:25:00 [只看该作者]

谢谢,狐狸爸爸!根据指点,在全局做的

Public Sub CopyTreeToTreeNode(byval SorcTrv As  WinForm.TreeView,byval  DestTrv As  WinForm.TreeView,Optional byval TrvNodeName As String ="" ,Optional byval TrvLevel As Integer=1,Optional byval TrvClear As  Boolean=True)
 'Dim SorcTrv As WinForm.TreeView = e.Form.Controls("TreeView1")
 'Dim DestTrv As WinForm.TreeView = e.Form.Controls("TreeView2")
  Dim nodes As new Dictionary(of String ,Winform.TreeNode)
  Dim pd As WinForm.TreeNode
  For Each pd In DestTrv.allNodes
     If pd.Level = TrvLevel AndAlso pd.Name=TrvNodeName Then Exit For
     PD=Nothing
  Next
  If PD IsNot Nothing Then
     If TrvClear Then PD.Nodes.Clear
     For Each nd As WinForm.TreeNode In SorcTrv.allNodes
       If nd.Level = 0 Then 'AndAlso nd.Name= TrvNodeName Then
         nodes.add(nd.name, PD.nodes.Add(nd.FullName,nd.text,nd.IconFile))
       Else
         Dim pm As String = nd.FullName.SubString(0,nd.FullName.LastIndexOf("\"))
         nodes.add(nd.fullname ,nodes(pm).nodes.Add(nd.name,nd.text,nd.IconFile))
      End If
    Next
  End If
' 你改一行代码,就可以复制到对应的节点
End Sub

引用后产生结果如下,是我要的


此主题相关图片如下:无标题.png
按此在新窗口浏览图片

 回到顶部