以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- [求助]一个treeview的所有节点复制成另一个treeview的一个子节点 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=90833)
|
-- 作者:小美菜
-- 发布时间:2016/9/22 15:33:00
-- [求助]一个treeview的所有节点复制成另一个treeview的一个子节点
一个treeview的所有节点复制成另一个treeview的一个子节点,能实现吗?
|
-- 作者:有点蓝
-- 发布时间:2016/9/22 15:38:00
--
不明白所有怎么变成一个,截图说明效果
|
-- 作者:小美菜
-- 发布时间:2016/9/22 15:57:00
--
怎么没有图
|
-- 作者:小美菜
-- 发布时间:2016/9/22 16:08:00
--
限定我上传图片了?
|
-- 作者:小美菜
-- 发布时间:2016/9/22 16:16:00
--
是成为另外一个TREEVIEW子节点的一部分
|
-- 作者:小美菜
-- 发布时间:2016/9/22 16:22:00
--
此主题相关图片如下:ggg1.png

|
-- 作者:狐狸爸爸
-- 发布时间: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编辑过]
|
-- 作者:小美菜
-- 发布时间:2016/9/22 16:47:00
--
这个是完整复制,好像,我要复制在第二个treeview的某个节点下
|
-- 作者:狐狸爸爸
-- 发布时间: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
|
-- 作者:小美菜
-- 发布时间: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

|