2

我在 GWT 中使用了 CellTable 小部件。

我想更改第一列中包含的每个文本的字体大小。该方法addColumnStyleName不符合我的需要,因为它将类添加到colgroup标签中;此标记仅处理部分 css,我无法更改 colgroup 的字体属性(它与文本无关)。

所以,我想td在第一列的每一列上添加一个类,但找不到一种简单的方法来做到这一点。

像 setRowStyles 这样的列会很好,但它不存在......

你对做这样的事情有什么暗示吗?

编辑:我使用 GWT 2.3 而不是 2.4(它有方法 setCellStyleNames)

4

2 回答 2

3

就像调用实例一样setCellStyleNames简单Column

于 2012-05-22T15:06:28.937 回答
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>");
    }       
}

为了简化示例,我故意不使用模板。

于 2012-05-22T15:07:37.593 回答