有人可以帮我了解如何在vb.net中突出显示ListView的特定行吗?
答案 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类属性,以防其他类已经存在,例如“已选择”。