添加交替的行颜色和列分组颜色 – 是否可能?

是否可以将GridView(与jQuery的tablesorter一起)设置为具有交替的行颜色,但是更改每个列分组的颜色集? 见下图:

示例图像

我目前基于我创建的数组对单元格背景颜色进行硬编码,例如greenArray是一个设置为(0,1,2,3)的整数数组,purpleArray是(4,5,6,7)等。但是当我使用tablesorter插件时,显然单元格保留了它们的颜色,这会混淆交替的颜色方案:

在此处输入图像描述

编辑 :我目前正在VB.NET中添加背景颜色。 以下函数定义数组,然后调用ColorizeMe()函数,该函数实际应用样式:

 Private Sub StyleTable(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles gvReport.RowDataBound 'Define arrays to color the gridview, if cell index is in array, it will be colored Dim blueArray() As Integer = {0, 17, 18, 19, 20} Dim greenArray() As Integer = {1, 2, 3, 4} Dim purpleArray() As Integer = {5, 6, 7, 8} Dim pinkArray() As Integer = {9, 10, 11, 12} Dim yellowArray() As Integer = {13, 14, 15, 16} _packworks.ColorizeMe(blueArray, greenArray, purpleArray, pinkArray, yellowArray, e.Row) End Sub 

而ColorizeMe()函数:

 Public Sub ColorizeMe(ByVal blueArray() As Integer, ByVal greenArray() As Integer, _ ByVal purpleArray() As Integer, ByVal pinkArray() As Integer, _ ByVal yellowArray() As Integer, ByVal row As GridViewRow) Dim i As Integer = 0 For Each cell As TableCell In row.Cells If Array.IndexOf(blueArray, i)  -1 Then If _isDark Then 'Color account column cell.BackColor = ColorTranslator.FromHtml("#B0C4DE") Else cell.BackColor = ColorTranslator.FromHtml("#E6E6FA") End If ElseIf Array.IndexOf(greenArray, i)  -1 Then If _isDark Then cell.BackColor = ColorTranslator.FromHtml("#a4d5a8") Else cell.BackColor = ColorTranslator.FromHtml("#ddf5de") End If ElseIf Array.IndexOf(purpleArray, i)  -1 Then If _isDark Then cell.BackColor = ColorTranslator.FromHtml("#ada4d4") Else cell.BackColor = ColorTranslator.FromHtml("#c7c6f4") End If ElseIf Array.IndexOf(pinkArray, i)  -1 Then If _isDark Then cell.BackColor = ColorTranslator.FromHtml("#e3b3e0") Else cell.BackColor = ColorTranslator.FromHtml("#fae1fa") End If ElseIf Array.IndexOf(yellowArray, i)  -1 Then If _isDark Then cell.BackColor = ColorTranslator.FromHtml("#e0e3ab") Else cell.BackColor = ColorTranslator.FromHtml("#f5f8dd") End If End If i += 1 Next _isDark = Not _isDark End Sub 

由于您的行是浅色/深色交替,您可以利用Alpha透明背景颜色:

http://cssdeck.com/labs/6rgab657

 
A A A A B B B B C C C C D D D D
A A A A B B B B C C C C D D D D

CSS:

 .a { background: blue; } .b { background: green; } .c { background: purple; } .d { background: red; } tr:nth-child(odd) { background: rgba(255, 255, 255, .70); }