表示された行の値に応じて、CellTableに列を追加できるかどうか誰かが知っていますか?
通常はaddColumnが使用されますが、行プロパティへのアクセスはgetValueメソッドでのみ有効になります。列に値を追加するか、空白のままにするかを決定するには、このアクセス権を早期に取得する必要があります。
表示された行の値に応じて、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());
}
}
}