GWT Ordenando una mesa de celda, probablemente solo algo que no vi
sorting gwt-2.2-celltable (1)
Supongo que ya has encontrado la solución, pero solo para mantenerla aquí:
Primero, crea tu dataProvider con alguna lista conocida. Que alimentar sortHandler con la misma lista; y usa la lista para actualizar los datos. Celltable se debe establecer como dataDisplay del dataProvider:
List myDataList = new ArrayList();
ListDataProvider dataProvider = new ListDataProvider(KEY_PROVIDER);
dataProvider.setList(myDataList);
ListHandler sortHandler = new ListHandler(dataProvider.getList);
//tie provider and table
dataProvider.addDataDisplay(cellTable);
//when you need to update dataprovider
//first do some myDataList cleanup to remove old values
myListData.addAll(values);
//update data displays
dataProvider.refresh();
Considere, siempre debe usar uno y el mismo objeto List.
He estado luchando durante las últimas dos horas tratando de ordenar una Celda GWT. Es realmente un problema estúpido porque se ha realizado aquí http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellTable
Pero no entiendo lo que me estoy perdiendo en el ejemplo ...
Aquí está mi código que uso para crear la columna:
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());
}
});
Y aquí está la declaración de la tabla en sí:
// 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);
se requiere ayuda :)