我有一个包含多个条目的列表视图,每个条目有2个子项。我想知道如何删除listview中subitem(1)等于某个字符串的每个项目。
最好的方法是什么?
感谢
答案 0 :(得分:5)
您无法使用for..each循环删除项目。删除第一个项目后,for ...每个都被破坏。
试试这个:
Dim pos As Int32
Dim listItem As ListViewItem
For pos = lvw.Items.Count - 1 To 0 Step -1
listItem = lvw.Items(pos)
If listItem.SubItems(1).Text = "testvalue" Then
lvw.Items.Remove(listItem)
End If
Next
答案 1 :(得分:3)
Dim listItem As ListViewItem
Dim someName As String
For Each listItem In lvw.Items
If listItem.Text = someName Then
lvw.Items.Remove(listItem)
' If you only want to remove one item with that Text
' you can put an Exit For right here
End If
Next
答案 2 :(得分:1)
你可以尝试这样的事情。
For Each listItem As ListViewItem In ListView1.Items
If listItem.SubItems.Item(1).Text = "SomeName" Then
listItem.Remove()
End If
Next
答案 3 :(得分:0)
这可能是删除所有列表项的最简单方法。
Do While YOURITEMLIST.Items.Count <> 0
YOURITEMLIST.Items.Remove(YOURITEMLIST.Items(0))
Loop