从列表视图中删除项目

时间:2012-02-04 07:19:49

标签: vb.net

我有一个包含多个条目的列表视图,每个条目有2个子项。我想知道如何删除listview中subitem(1)等于某个字符串的每个项目。

最好的方法是什么?

感谢

4 个答案:

答案 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