GWT CellTable-根据行添加列

GWT CellTable-根据行添加列,gwt,widget,presentation,Gwt,Widget,Presentation,有人知道这是否可以根据显示的行中的某个值向CellTable添加一列吗 通常使用addColumn,但仅在getValue方法中启用对行属性的访问。我需要提前获得此访问权限,以决定向列中添加一些值或将其保留为空。答案是编写扩展适当单元格类的自定义单元格类(随GWT提供)。然后在render方法中,根据显示/渲染对象的值,列的内容可能为空或不为空。例如 private class VersionCell<T> extends ActionCell<MovieDTO> {

有人知道这是否可以根据显示的行中的某个值向CellTable添加一列吗


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

答案是编写扩展适当单元格类的自定义单元格类(随GWT提供)。然后在render方法中,根据显示/渲染对象的值,列的内容可能为空或不为空。例如

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());
        }
    }
}
私有类VersionCell扩展了ActionCell{
public VersionCell(字符串文本、委托){
超级(文本,代表);
}
@凌驾
公共无效渲染(MovieDTO m、对象密钥、SafeHtmlBuilder sb){
如果(m!=null&&m.getId()!=-1){
超级渲染(m、键、sb);
}else if(m!=null&&m.getId()=-1){
sb.append(新的SafeHtmlBuilder().appendHtmlConstant(“”.toSafeHtml());
}
}
}