2

複数の列による動的なページングと並べ替えを使用してGWTCellTableを実装しています。基本は、CellTable開発者ガイドに記載されています。

ただし、動的な例では、ユーザーが並べ替える列を見つける方法はわかりません(単に「名前」列で並べ替えるだけです)。私の場合、ユーザーが別の列で並べ替えることができるようにしたいので、これだけでは不十分です。

私が考えることができる唯一の解決策は、あまりエレガントではありませんが、どの列が昇順でソートされているか(を使用してtable.getColumnSortList(indexOfColumn).isAscending())を追跡し、各列の値を比較してどの列がクリックされたかを把握することです(1つ変更されたのは、おそらくユーザーがクリックしたものです)。

これには、CellTableのどこかで利用できるはずの情報をクラスに保持することが含まれます。しかし、私はその情報を見つけることができません!

助けてくれてありがとう。

4

1 に答える 1

3

私は答えを見つけました。のjavadocで説明されているようにcom.google.gwt.user.cellview.client.ColumnSortList

テーブル内の列の並べ替え履歴を含む順序付きリスト。0 番目の項目は、最後に並べ替えられた列の ColumnSortInfo です。

したがって、どの列が最後にソートされたかを知るには、次のようにします。

ColumnSortInfo info = table.getColumnSortList().get(0);
Column<Type> sortByColumn = info.getColumn();  
于 2012-06-07T05:01:37.623 に答える