摆脱VB列表框中的重复

时间:2011-03-23 13:54:59

标签: asp.net vb.net

使用ASP / VB,我试图摆脱来自XML文档的列表框中的一些重复。

对不起,如果这是一个愚蠢的问题,我是新手。

我尝试过各种各样的东西,但没有任何效果。这是代码 - 感谢任何帮助/帮助!

Function getAssets(ByVal siteid As String) As String

    Dim oAssets As New Xteam.XteamWebService
    Dim strAssets As String = ""
    Dim oDoc As New XmlDocument
    'Dim oNode As XmlNode

    strAssets = oAssets.ReadHAssetCodes(siteid)

    oDoc.LoadXml(strAssets)

    For Each Node As XmlNode In oDoc.SelectSingleNode("XteamAssets")
        lstHAssets.Items.Add(New ListItem(Node("hassetdescription").InnerText, Node("hassetcode").InnerText))




    Next

    lstHAssets.Items.Insert(0, "--Please Select--")


    Return "ToSender"

End Function

1 个答案:

答案 0 :(得分:0)

可能有一种更有效的方式,但这会有效。

Function getAssets(ByVal siteid As String) As String        
Dim oAssets As New Xteam.XteamWebService      
Dim strAssets As String = ""      
Dim oDoc As New XmlDocument      '
Dim oNode As XmlNode        
strAssets = oAssets.ReadHAssetCodes(siteid)        
oDoc.LoadXml(strAssets)   
Dim strAryUniqueValues as string() 
Dim strUniqueValues as string = ""
Dim i as int = 0
Dim strSearchPair as string   
For Each Node As XmlNode In oDoc.SelectSingleNode("XteamAssets") 
    strSearchPair = "~" & Node("hassetdescription").InnerText & "/" & Node("hassetcode").InnerText & "~"
    ' see if these values have been included already, if not then add them
    if instr(strUniqueValues,strSearchPair) = -1 then         
        strAryUniqueValues(i) = strSearchPair
        strUniqueValues = strUniqueValues & strAryUniqueValues(i)    
        i = i + 1
    end if   
Next  
'now loop back through and build your listbox
Dim strAryPair as string()
For each strPair in strAryUniqueValues 
    strAryPair = split(strPair,"/") 
    lstHAssets.Items.Add(New ListItem(Replace(strAryPair(0),"~",""),Replace(strAryPair(1),"~","")) 
Next 
  lstHAssets.Items.Insert(0, "--Please Select--")         
  Return "ToSender"    
End Function