我正在尝试在列表视图中禁用项目(行),但它似乎没有像.enable = false这样的选项,我试图通过禁用但可见来找到任何可以使我的项目到达的内容。有什么相似的吗?如果允许用户选择它,则启用该项目,否则它可见但未启用。
我在数据库中有一个表,管理员会在其中填写用户可以查看窗口的表,所以我希望用户能够看到它,如果不允许查看它,那么它的禁用。
答案 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