2

表示された行の値に応じて、CellTableに列を追加できるかどうか誰かが知っていますか?

通常はaddColumnが使用されますが、行プロパティへのアクセスはgetValueメソッドでのみ有効になります。列に値を追加するか、空白のままにするかを決定するには、このアクセス権を早期に取得する必要があります。

4

1 に答える 1

3

答えは、適切なセルクラス(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());
        }
    }
}
于 2010-12-15T12:30:24.337 に答える