私はGWT CellTableをソートしようとしている最後のカップルのために苦労してきました。 それはここ http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellTableGWTセルテーブルをソートする、おそらくちょうど私が見たことがない
行われていますので、それは本当に愚かな問題だが、私は私がexempleに欠けているものを理解していない...ここで
は、私が列を作成するために使用する私のコードです:
Column<RemoteCommand, String> nbProducts = new Column<RemoteCommand, String>(
new TextCell()) {
@Override
public String getValue(RemoteCommand object) {
return object.getNumberProduct();
}
};
nbProducts.setSortable(true);
sortHandler.setComparator(nbProducts, new Comparator<RemoteCommand>() {
public int compare(RemoteCommand o1, RemoteCommand o2) {
cellTable.redraw();
return o1.getCommandSize().compareTo(o2.getCommandSize());
// System.out.println(Integer.parseInt(o1.getCommandSize()) - Integer.parseInt(o2.getCommandSize()));
// return Integer.parseInt(o1.getCommandSize()) - Integer.parseInt(o2.getCommandSize());
}
});
そして、ここでは、テーブル自体の宣言です:
// Add a selection model so we can select cells.
final SelectionModel<RemoteCommand> selectionModel = new MultiSelectionModel<RemoteCommand>(
RemoteCommand.KEY_PROVIDER);
cellTable.setSelectionModel(selectionModel,
DefaultSelectionEventManager.<RemoteCommand> createCheckboxManager());
// Attach a column sort handler to the ListDataProvider to sort the list.
ListHandler<RemoteCommand> sortHandler = new ListHandler<RemoteCommand>(values);
cellTable.addColumnSortHandler(sortHandler);
// Initialize the columns.
initTableColumns(selectionModel, sortHandler);
cellTable.setRowData(values);
ヘルプはrequierdです:)
これは私の考えであり、正確にはどのように行われたのですか?ただ1つのこと: リストを変更したときに更新が完了したため、更新は不要です。私の経験では、myDataListを使用する代わりにdataProvider.getList() - Methodを使用しなければなりませんでした。そうでなければ、起動された更新はありませんでした。 – Chris
Chirs、あなたはまったく正しい! dataProvider.getList()を使用する方が良いです! 実際には、myDataListを変更するのは問題ありませんが、refresh()が必要です。最も重要なのは、myDataListを更新するとページングの動作が不正になります(テーブルを作成するときにデータがない場合 - ソートは完了です)。 ありがとうございます。 – sab