我在GWT中有一个celltable,我可以用这个
来改变特定列的颜色 celltable.addColumnStyleName(4, "bluetext");
但我怎么能改变第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。 为了它的价值。