2

(文字列とは別に) ボタン (リンク スタイルと説明付き) を含む Vaadin テーブルを作成しましたが、うまく機能します。

1 つだけ問題があります。列を並べ替えることができません。列の通常の並べ替えをオーバーライドして、ボタンの値を取得し、AZ または ZA から並べ替える方法を見つけようとしています。デフォルトはフィールドの toString だけだと思いますが、よくわかりません。

例:

テーブルの列 (生成された場所):

table.addContainerProperty(Translator.translate("column.message"), Button.class, null);

...

            Button messageButton = prepareButton(result);
            resultComponent.getTable().addItem(new Object[] {
                    messageButton,
                    result.getPortlet(),
                    result.getSsn(),
                    result.getSam(),
                    result.getDate()
            }, itemId++);

並べ替えを無効にする方法はありますか? または、それらの線に沿って独自の並べ替えクラスまたは何かを作成します。

4

1 に答える 1

3

これを見てください。要約すると、コンポーネント (この場合は Vaadin ボタン) を拡張してサブクラスに Comparable を実装させるか、ItemSorter を使用することができます。

于 2011-02-22T19:50:19.323 に答える