GWT CellTable - 根据行添加列

时间:2010-12-14 16:52:46

标签: gwt widget presentation

是否有人知道是否可以根据显示行的某些值向CellTable添加列?

通常使用addColumn但仅在getValue方法中启用对行属性的访问。我需要提前获得此访问权限,以决定是向列添加一些值还是将其空白。

1 个答案:

答案 0 :(得分:3)

答案是编写扩展适当单元类的自定义单元类(随GWT提供)。然后在render方法中,列的内容可能为空或取决于显示/呈现对象的值。 E.g。

private class VersionCell<T> extends ActionCell<MovieDTO> {

    public VersionCell(String text, Delegate<MovieDTO> delegate) {
        super(text, delegate);
    }

    @Override
    public void render(MovieDTO m, Object key, SafeHtmlBuilder sb) {
        if (m != null && m.getId() != -1) {
            super.render(m, key, sb);
        } else if (m != null && m.getId() == -1) {
            sb.append(new SafeHtmlBuilder().appendHtmlConstant("").toSafeHtml());
        }
    }
}