【问题标题】:How to set entire column's background color in CellTable GWT如何在 CellTable GWT 中设置整列的背景颜色
【发布时间】:2011-07-26 14:40:09
【问题描述】:

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

【问题讨论】:

    标签: gwt gwt-2.2-celltable


    【解决方案1】:

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

    <table ...>
      <colgroup><col><col><col class="mystyle"><col>...</colgroup>
      ...
    

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

    不幸的是,这还不够,因为偶数/奇数行的 GWT CSS 规则将具有优先级并设置列的所有 &lt;td&gt; 的样式(标题除外),从而覆盖您的背景颜色。

    要解决此问题,请在列上使用 column.setCellStyleNames("mystyle")。这会导致列的&lt;td&gt; 接收类mystyle。然后,您可以使用 CSS 之类的

    .mystyle, td.mystyle {
      background-color : #D0E4F6;
    }
    

    设置列(标题)和&lt;td&gt;的背景颜色。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 感谢您的回复。 addColumnStyleName 似乎只将样式应用于列标题。当我使用此函数设置背景颜色时,只有列标题颜色发生了变化,而不是 CellTable 中的整个列。
      • addColumnStyleName 中传递的样式被添加到col HTML 标记中,因此适用于 whole 列。但是,由于CellTable 对偶数行和奇数行的颜色不同,您在自定义样式中设置的背景颜色会在各个单元格中被覆盖。我没有尝试过,但我认为如果您愿意放弃偶数/奇数行着色,您可以使用stackoverflow.com/questions/4194717/… 删除默认样式中的背景颜色。
      • (继续我上面的评论:)默认样式是:google.com/codesearch#A1edwVHBClQ/user/src/com/google/gwt/user/…
      猜你喜欢
      • 2021-09-16
      • 2011-05-29
      • 1970-01-01
      • 2021-05-07
      • 2010-12-11
      • 2017-07-07
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      相关资源
      最近更新 更多