以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]目录树删除节点代码不知道怎么写  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=188025)

--  作者:18523982317
--  发布时间:2023/8/27 23:16:00
--  [求助]目录树删除节点代码不知道怎么写
If e.Node.Name = "1001015" Then
    代码一    e.Sender.Nodes.Remove(e.Sender.Nodes("1001015")

     代码二   e.Sender.Nodes.Remove(e.Node)
End If

在目录树的单击事件中,代码一报错,代码二就可以。。。为什么

我按帮助下写的,trv.Nodes.Remove(trv.Nodes("1001015"))也报错,不知道怎么回事,e.Node又可以。。。。求助
		
[此贴子已经被作者于2023/8/27 23:18:50编辑过]

--  作者:有点蓝
--  发布时间:2023/8/28 8:35:00
--  
少个括号:e.Sender.Nodes.Remove(e.Sender.Nodes("1001015"))
--  作者:18523982317
--  发布时间:2023/8/28 8:56:00
--  
蓝哥。。。我只是复制少了个括号,报错肯定不是括号的问题,trv.Nodes.Remove(trv.Nodes("1001015"))这个代码也报错。。。。
--  作者:有点蓝
--  发布时间:2023/8/28 9:13:00
--  
我测试没有问题。点击的是目录树的根节点吗?代码报什么错?
--  作者:18523982317
--  发布时间:2023/8/28 9:30:00
--  
图片点击可在新窗口打开查看

e.Sender.Nodes.Remove(e.Sender.Nodes("1001015"))  这行代码报这个错。。。
[此贴子已经被作者于2023/8/28 9:30:05编辑过]

--  作者:有点蓝
--  发布时间:2023/8/28 9:41:00
--  
1001015是根节点,是第一层节点吗
--  作者:18523982317
--  发布时间:2023/8/28 9:43:00
--  
图片点击可在新窗口打开查看

不是最顶层的根节点,只是其中一个罢了。。。

--  作者:有点蓝
--  发布时间:2023/8/28 9:55:00
--  
不是最顶层的根节点【(e.Sender.Nodes("1001015")】肯定就有问题啊。e.Sender表示的是目录树本身,e.Sender.Nodes表示的是目录树的所有最顶层的根节点的集合。所以使用e.Node才是正确的,e.Node表示的是当前点击的节点
--  作者:18523982317
--  发布时间:2023/8/28 9:58:00
--  
那这个节点的name是1001015,我要怎么删除他。。。
--  作者:有点蓝
--  发布时间:2023/8/28 10:01:00
--  
就使用e.Node啊