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