我在GWT中使用了一个CellTable小部件。
我想更改第一列中包含的每个文本的字体大小。方法addColumnStyleName
不符合我的需要,因为它将类添加到colgroup
标记;只有部分css在此标记上处理,我无法更改colgroup的字体属性(它没有文本上的发生率)。
所以,我想在第一列的每个td
上添加一个类,但找不到一个简单的方法。
像列的setRowStyles这样的东西会很好但是它不存在......
你有什么关于这样做的暗示吗?
编辑:我使用GWT 2.3而不是2.4(其方法为setCellStyleNames)
答案 0 :(得分:3)
就像在Column
个实例上调用setCellStyleNames
一样简单。
答案 1 :(得分:0)
我终于明白了。但我对这个解决方案并不满意。这个简单的任务有点冗长。我对任何其他建议持开放态度。
我实现它的方法是创建一个新单元格和一个新列:
private class KeyColumn extends Column<SimpleLegendItem, String> {
public KeyColumn() {
super(new KeyCell());
}
@Override
public String getValue(SimpleLegendItem item) {
return item.getKey();
}
}
private class KeyCell extends AbstractCell<String> {
@Override
public void render(com.google.gwt.cell.client.Cell.Context context, String value, SafeHtmlBuilder sb) {
sb.appendHtmlConstant("<span class=\"" + tableResources.cellTableStyle().box() + "\">");
sb.appendEscaped(value);
sb.appendHtmlConstant("</span>");
}
}
为了简化示例,我故意不使用模板。