我想找到一种在GWT中设置CellTable中整个列的背景颜色的方法,但没有运气。在CellTable的风格,我只发现风格cellTableLastColumn和cellTableFirstColumn可以用来设置最后和第一列的背景颜色(这两个工作很好)。有人知道如何通过传递列索引作为参数来设置任何列的整个列背景色吗?非常感谢。
您可以使用table.addColumnStyleName(colIndex, "mystyle")
告诉CellTable
将mystyle
添加到表的<colgroup>
中。这会产生像
<table ...>
<colgroup><col><col><col class="mystyle"><col>...</colgroup>
...
使用mystyle { background-color : #D0E4F6; }
这样的CSS规则,这将设置整个列的背景色,包括标题。
不幸的是,这是不够的,因为GWT CSS规则的偶数/奇数行将有优先级和样式的所有<td>
的列(除了标题),覆盖你的背景色。
要解决这个问题,在列上使用column.setCellStyleNames("mystyle")
。这将导致列的<td>
接收类mystyle
。然后你可以使用像
.mystyle, td.mystyle {
background-color : #D0E4F6;
}
设置列(页眉)和<td>
's的背景色。
您可以使用addColumnStyleName
为列添加CSS类名,就像您在Widget
上使用addStyleName
一样。