如何在CellTable GWT中设置整列的背景颜色

时间:2011-07-26 14:40:10

标签: gwt gwt-2.2-celltable

我想找到一种在GWT中在CellTable中设置整列的背景颜色的方法,但没有运气。在CellTable的风格中,我只找到了样式cellTableLastColumn和cellTableFirstColumn,它们可以用来设置最后一列和第一列的背景颜色(这两个工作正常)。是否有人知道如何通过将列索引作为参数传递来为任何列设置整个列背景颜色?非常感谢你。

2 个答案:

答案 0 :(得分:4)

您可以使用table.addColumnStyleName(colIndex, "mystyle")告诉CellTablemystyle添加到表格的<colgroup>。这会导致像

这样的HTML
<table ...>
  <colgroup><col><col><col class="mystyle"><col>...</colgroup>
  ...

使用类似mystyle { background-color : #D0E4F6; }的CSS规则,这会设置整个列的背景颜色,包括标题。

不幸的是,这还不够,因为偶数/奇数行的GWT CSS规则将优先考虑列的所有<td>的样式(标题除外),覆盖背景颜色。

要解决此问题,请在列上使用column.setCellStyleNames("mystyle")。这会导致列的<td>接收类mystyle。然后你可以使用像

这样的CSS
.mystyle, td.mystyle {
  background-color : #D0E4F6;
}

设置列(标题)和<td>的背景颜色。

答案 1 :(得分:2)

您可以使用addColumnStyleName向列中添加CSS类名称,就像在addStyleName上使用Widget一样。