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

最佳答案

您可以使用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>的背景颜色。

10-07 12:39