禁用vb.net中的listview项

时间:2018-04-08 13:26:09

标签: vb.net listview

我正在尝试在列表视图中禁用项目(行),但它似乎没有像.enable = false这样的选项,我试图通过禁用但可见来找到任何可以使我的项目到达的内容。有什么相似的吗?如果允许用户选择它,则启用该项目,否则它可见但未启用。

我在数据库中有一个表,管理员会在其中填写用户可以查看窗口的表,所以我希望用户能够看到它,如果不允许查看它,那么它的禁用。

1 个答案:

答案 0 :(得分:0)

仅当MultiSelect设置为False并且为每个项目设置.Tag属性时,此方法才有效。 (是或否)。

Private Sub ListView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListView1.SelectedIndexChanged
        If Not ListView1.SelectedItems.Count = 0 Then
            Dim item As ListViewItem = ListView1.SelectedItems(0)
            If item.Tag.ToString = "No" Then
                item.Selected = False
            End If
        End If
End Sub

根据@ jmcilhinney,以下代码应与MultiSelect = True一起使用。我试图访问添加到集合中的最后一项,但似乎SelectedItems集合的顺序与项目在ListView中出现的顺序相同;并不像预期的那样,最后添加的项目将是集合中的最后一项..

Private Sub ListView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListView1.SelectedIndexChanged
        If Not ListView1.SelectedItems.Count = 0 Then
            For Each item As ListViewItem In ListView1.SelectedItems
                If item.Tag.ToString = "No" Then
                    item.Selected = False
                End If
            Next
        End If
End Sub