在ListView中突出显示特定行

时间:2010-04-17 04:15:05

标签: vb.net listview

有人可以帮我了解如何在vb.net中突出显示ListView的特定行吗?

2 个答案:

答案 0 :(得分:1)

假设您在详细信息模式下使用它,只需确保将FullRowSelect和MultiSelect设置为true,然后在要设置为true的Items(行)上设置Selected属性。
假设您有一个名为ListView1的ListView,则以下内容应该有效:

ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)  
ColumnHeader2 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)  
ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2})  

ListView1.View = View.Details  
ListView1.MultiSelect = True  
ListView1.FullRowSelect = True  
ColumnHeader1.Width = -2  
ColumnHeader2.Width = -2  

For index As Integer = 0 To 3  
    ListView1.Items.Add("Number" & index.ToString()).SubItems.Add("text")  
Next  
ListView1.Items(1).Selected = True  
ListView1.Items(3).Selected = True

答案 1 :(得分:0)

我相信你可以捕获 ItemDataBoundEvent 并在你的行上设置css类。此示例显示了概念:

http://msdn.microsoft.com/en-us/library/bb350797(v=VS.100).aspx

如果您将行容器 runat =“server”并为其提供ID,那么您应该能够使用FindControl获取它们。

您添加到行容器(tr,div等)的类将反映您的状态(错误,已提交等)。然后,您可以将任何样式(背景颜色)应用于样式表中的那些类。

请记住将新类连接到css类属性,以防其他类已经存在,例如“已选择”。