GWT:如何更改GWT Celltable中的行颜色

时间:2012-01-26 18:00:19

标签: gwt

我在GWT中有一个celltable,我可以用这个

来改变特定列的颜色
            celltable.addColumnStyleName(4, "bluetext");

但我怎么能改变第3行的颜色

由于

3 个答案:

答案 0 :(得分:16)

您必须提供一个RowStyles对象,该对象返回每行的css类名。因此,要为行设置特定颜色,您必须使用该颜色定义css类,然后使RowStyles对象返回相关行的该类。

我认为你用cellTable.setRowStyles或类似的东西来设置它。

cellTable.setRowStyles(new RowStyles<T>() {
    @Override
    public String getStyleNames(T rowObject, int rowIndex) {
        if (rowIndex == 3) {
            return "bluetext";
        } else {
            return "normaltext";
        } 
    });

答案 1 :(得分:2)

如果您需要根据其中一个单元格中更改的值更新行颜色,可以将以下代码添加到此单元格的fieldUpdater中:

@Override
public void update(int index, Object object, String value) {
    if (someConditionIsMet) {
        myTable.getRowElement(index).addClassName("redBackground");
    }
}

在CSS文件中添加以下样式:

.redBackground {
    background-color: red !important;
}

答案 2 :(得分:1)

要回答最后一个注释,即样式位于行元素中但未呈现: 使用setRowStyles(new RowStyles()...... 我得到风格的唯一方法是使用蛮力。 我不得不从我的List存储中删除该行,将其添加回相同的索引,然后刷新RowModel。 为了它的价值。