以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何遍历目录树的值有重复 第一级不能有重复 第二级 以下可以有重复?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96583)

--  作者:jswjyjf
--  发布时间:2017/2/23 16:05:00
--  如何遍历目录树的值有重复 第一级不能有重复 第二级 以下可以有重复?
如何遍历目录树的值有重复 第一级不能有重复 第二级 以下可以有重复?
--  作者:有点色
--  发布时间:2017/2/23 16:08:00
--  

Dim ls As new List(Of String)
For Each nd As Object In e.Form.Controls("TreeView1").Nodes
    If ls.Contains(nd.Text) Then
        msgbox(nd.text & " " & 重复)
    Else
        ls.add(nd.text)
    End If
Next


--  作者:jswjyjf
--  发布时间:2017/2/23 16:14:00
--  
说错了 同一级别下不允许重复
--  作者:有点色
--  发布时间:2017/2/23 16:18:00
--  
For Each nd As Object In e.Form.Controls("TreeView1").allnodes
    Dim ls As new List(Of String)
    For Each cnd As object In nd.nodes
        If ls.Contains(cnd.Text) Then
            msgbox(cnd.text & " " & 重复)
        Else
            ls.add(cnd.text)
        End If
    Next
Next

--  作者:jswjyjf
--  发布时间:2017/2/23 16:22:00
--  
执行结果不对了 ,同一级别出现重复值也不提醒
--  作者:有点色
--  发布时间:2017/2/23 16:32:00
--  

Dim trv = e.Form.Controls("TreeView1")
Dim ls As new List(Of String)
For Each cnd As object In trv.nodes
    If ls.Contains(cnd.Text) Then
        msgbox(cnd.text & " 重复")
    Else
        ls.add(cnd.text)
    End If
Next

For Each nd As Object In trv.allnodes
    ls = new List(Of String)
    For Each cnd As object In nd.nodes
        If ls.Contains(cnd.Text) Then
            msgbox(cnd.text & " 重复" )
        Else
            ls.add(cnd.text)
        End If
    Next
Next


--  作者:jswjyjf
--  发布时间:2017/2/23 16:41:00
--  
还是可以重复的


--  作者:有点色
--  发布时间:2017/2/23 16:55:00
--  
上传实例说明你要做什么
--  作者:jswjyjf
--  发布时间:2017/2/23 16:58:00
--  
目录树要求目标是:同一级别下不可以有重复值,不在同一级别下允许有重复值
--  作者:有点色
--  发布时间:2017/2/23 17:00:00
--  

 代码没问题,用例子说明你要做什么。