Foxtable(狐表)用户栏目专家坐堂 → 如何用代码判断treeview 同一节点下 不能有重复值?


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

主题:如何用代码判断treeview 同一节点下 不能有重复值?

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107344 积分:545987 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/17 22:21:00 [显示全部帖子]

遍历所有子节点,逐个判断。

比如判断选中的节点

Dim tr As WinForm.TreeView
tr = Forms(
"窗口1").Controls("TreeView1")
Dim td As WinForm.TreeNode = tr.SelectedNode
dim lst as new list(of string)
for each dd as WinForm.TreeNode in td.nodes
if lst.contains(dd.text) then
msgbox("重复节点:" & dd.text)
else
lst.add(dd.text)
end if
next


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


加好友 发短信
等级:超级版主 帖子:107344 积分:545987 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/18 10:17:00 [显示全部帖子]

那就在增加之前就遍历判断呀

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


加好友 发短信
等级:超级版主 帖子:107344 积分:545987 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/18 10:31:00 [显示全部帖子]

……
Dim trv As WinForm.TreeView = e.Sender
Dim ns = trv.nodes
If e.node.ParentNode IsNot Nothing Then
ns = e.node.ParentNode.nodes
End If
For Each nd As WinForm.TreeNode In ns 
If nd.FullName <> e.Node.FullName AndAlso nd.Text = e.NewText Then
   messagebox.show("有重复名称","信息提示")
e.cancel=True
……

 回到顶部