GWT で Celltable のすべての列をソートするにはどうすればよいですか
@Override
public void addSortableColumn() {
for (int column = 0; column < cellTable.getColumnCount(); column++) {
cellTable.getColumn(column).setSortable(true);
}
addSortHandler();
}
private void addSortHandler() {
cellTable.addColumnSortHandler(new ColumnSortEvent.Handler() {
public void onColumnSort(ColumnSortEvent event) {
List newData = new ArrayList(cellTable.getVisibleItems());
if (event.isSortAscending()) {
Collections.sort(newData);
} else {
Collections.reverse(newData);
}
cellTable.setRowData(cellTable.getVisibleRange().getLength(),newData);
}
});
}
上記のコードを並べ替えに使用していますが、列はクリック可能ですが、どの列でも並べ替えを実行していません。
これは、実行時に生成される celltable に渡すモデルの 1 つです。
public class MyModel implements Comparable<MyModel>
{
private String column1;
private String column2;
private String column3;
private String column4;
private String column5;
@Override public int compareTo(SearchNewNumberOrderModel o) {
return this.column1.compareTo(o.column1);
}
}