Foxtable(狐表)用户栏目专家坐堂 → [求助]树节点移除


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

主题:[求助]树节点移除

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


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]树节点移除  发帖心情 Post By:2021/1/17 16:43:00 [只看该作者]

Dim trv1 As WinForm.TreeView = Forms("XX").Controls("TreeView1")
Dim dt As DataTable = DataTables("AA")
dim txt as string = "ABCD"

Dim lstnd As new list(of WinForm.TreeNode)  '需要保留的节点
For Each nd As WinForm.TreeNode In trv1.AllNodes
     Dim y As String = nd.FullPath & " " & py.GetPY(nd.FullPath,True,3)
     Dim yn As Boolean = False
     If Instr(y,txt) = 0 Then
          yn = True
     End If

     If yn = False Then   '''形成保留集合
        lstnd.add(nd)
     End If
Next


For Each nd As WinForm.TreeNode In trv1.AllNodes
   if lstnd.contains(nd) = false then
trv1.nodes.remove(nd)
   end if
Next

为什么执行的结果整个树全清了?

[此贴子已经被作者于2021/1/17 16:43:36编辑过]

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/17 20:47:00 [只看该作者]

很简单的道理,假设节点全路径是:a\b\c\d,要保留节点d,abc也必须保留。但是abc肯定是不符合【 if lstnd.contains(nd) = false then】这个条件的,a删除后子节点bcd都会被一起删除了

 回到顶部