将项目添加到listview1并删除项目是否已在listview1中或替换

时间:2016-11-27 18:04:09

标签: vb.net

我有listview1有2列。我已经有了添加项目的代码,但我的问题是当我再次添加listview1中的相同项目时,它显示重复项,当我继续添加相同的项目时,listview中的项目会增加相同的数据。< / p>

我需要的例子:

listview1已经在第1列= 1和第2列= A中的数据时,我想再次添加像第1列= 1和第2列= B这样的数据。我有2解决方案,我尝试编码,但没有运气。我的两个解决方案是:

  1. 我只想更新第二列中的数据,来自&#34; A&#34;到&#34; B&#34;但是使用相同的第一列数据,并且不会在listview中添加任何其他项目,就像更新/替换它一样。
  2. OR

    1. 删除会导致重复的项目并添加相同的项目,这样就不会有重复项。
    2. 这是我添加项目的代码:

       Private Sub rbChoiceA_Checked(ByVal sender As Object, ByVal e As EventArgs)
      
          Dim rbA As RadioButton = TryCast(sender, RadioButton)
          Dim str As String = rbA.Parent.Name
          str = str.Remove(0, 6)
          lab1.Text = str
          Dim item As ListViewItem
          Dim row As String() = New String(2) {}
          row(0) = str
          row(1) = rbA.Text
          item = New ListViewItem(row)
          ListView1.Items.Add(item)
      
      End Sub
      

      我只是需要帮助才能为我的问题添加代码。非常感谢您的回答。提前谢谢!

2 个答案:

答案 0 :(得分:0)

在添加项目之前找到该项目

If (ListView1.FindItemWithText(row(0)) Is Nothing) Then
    ListView1.Items.Add(item)
End If

答案 1 :(得分:0)

我只是因为其他人的帮助而弄清楚了。我创建了一个函数作为Dictionary.This代码更新子项而不添加或删除项目。

route.setStartCoordinate(new SKCoordinate(startPointPlace.getLongitude(), 
    startPointPlace.getLatitude()));

route.setDestinationCoordinate(new SKCoordinate(destinationPointPlace.getLongitude(),
    destinationPointPlace.getLatitude()));