【发布时间】:2011-07-26 14:40:09
【问题描述】:
我想找到一种方法在 GWT 的 CellTable 中设置整个列的背景颜色,但没有运气。在 CellTable 的样式中,我只找到了样式 cellTableLastColumn 和 cellTableFirstColumn 可用于设置最后一列和第一列的背景颜色(这两个工作正常)。是否有人知道如何通过将列索引作为参数传递来为任何列设置整个列背景颜色?非常感谢。
【问题讨论】:
标签: gwt gwt-2.2-celltable
我想找到一种方法在 GWT 的 CellTable 中设置整个列的背景颜色,但没有运气。在 CellTable 的样式中,我只找到了样式 cellTableLastColumn 和 cellTableFirstColumn 可用于设置最后一列和第一列的背景颜色(这两个工作正常)。是否有人知道如何通过将列索引作为参数传递来为任何列设置整个列背景颜色?非常感谢。
【问题讨论】:
标签: gwt gwt-2.2-celltable
您可以使用table.addColumnStyleName(colIndex, "mystyle") 告诉CellTable 将mystyle 添加到表的<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>的背景颜色。
【讨论】:
您可以使用 addColumnStyleName 将 CSS 类名称添加到列中,就像您在 Widget 上使用 addStyleName 一样。
【讨论】:
addColumnStyleName 中传递的样式被添加到col HTML 标记中,因此适用于 whole 列。但是,由于CellTable 对偶数行和奇数行的颜色不同,您在自定义样式中设置的背景颜色会在各个单元格中被覆盖。我没有尝试过,但我认为如果您愿意放弃偶数/奇数行着色,您可以使用stackoverflow.com/questions/4194717/… 删除默认样式中的背景颜色。