ListView:从所选项目中获取数据

时间:2016-11-10 11:38:50

标签: vb.net winforms

我创建了一个listview并使用datatable填充它。
一切正常... ...现在我添加了所有项目的复选框.. 现在我想要的是,当一个项目的最后一列值为" true"然后检查同一项目的复选框。

我尝试了以下代码......

If LstViewHelp.Items.Count <> 0 Then
    For Each item As ListViewItem In LstViewHelp.Items
        If LstViewHelp.FocusedItem.SubItems(10).Text = "True" Then
            LstViewHelp.FocusedItem.Checked = True
        End If
    Next
End If

我得到以下错误对象引用未设置为实例 试过很多链接,但找不到合适的解决方案......!

1 个答案:

答案 0 :(得分:0)

您可以使用ListView.SelectedIndexCollection获取所有选定的索引,例如SelectedIndices。在所选索引上添加ForEach循环并编辑您的SubItem。

Dim indexes As ListView.SelectedIndexCollection = Me.ListViewHelp.SelectedIndices

For Each index In indexes
     If Me.ListViewHelp.Items(index).SubItems(10).Text = "True" Then
        LstViewHelp.Items(index).Checked = True
    End If

Next

如果您想检查所有项目,可以使用for循环

For i = 0 To Me.ListViewHelp.Items.Count - 1

          If Me.ListViewHelp.Items(i).SubItems(10).Text = "True" Then
            LstViewHelp.Items(i).Checked = True
          End If
Next