java - Cómo obtener el recuento total de filas para la paginación GWT CellTable en
pagination gwt-celltable (1)
updateRowCount
llamar a updateRowCount
desde su AsyncDataProvider
(similar a cómo llama a updateRowData
), lo que significa que tiene que preguntarle a su servidor por ese conteo (o al menos una aproximación, y luego elegir si pasa un true
o false
como segundo argumento updateRowCount
).
Por supuesto, también puede llamar a updateRowCount
desde fuera de onRangeChange
, particularmente si puede saber por adelantado cuántas filas tendrá, y ese número no va a cambiar tanto.
Estoy tratando de implementar paginación en una CellTable, pero actualmente muestra registros de "1-10 de 10" en lugar de registros de "1-10 de 1000". No estoy seguro de dónde puedo actualizar el conteo total de registros. Mi AsyncDataProvider se ve así:
AsyncDataProvider<OutletSearchVO> latestProvider = new AsyncDataProvider<OutletSearchVO>() {
@Override
protected void onRangeChanged(HasData<OutletSearchVO> display) {
final int start = display.getVisibleRange().getStart();
int length = display.getVisibleRange().getLength();
AsyncCallback<List<OutletSearchVO>> callback = new AsyncCallback<List<OutletSearchVO>>() {
@Override
public void onFailure(Throwable caught) {
Window.alert(caught.getMessage());
}
@Override
public void onSuccess(List<OutletSearchVO> result) {
updateRowData(start, result);
}
};
// The remote service that should be implemented
service.getOutletPage(start, length, callback);
}
};
El SQL que estoy usando para tomar los registros es similar a esto:
SELECT *
FROM (SELECT outlet_id,
outlet_name,
image,
ROWNUM rn
FROM ( SELECT outlet_id outlet_id,
account_name outlet_name,
image_score image,
FROM outlets)
ORDER BY OOI.created_on DESC, OOI.account_name))
WHERE rn > ? AND rn < ?
Los signos de interrogación se reemplazan por el rango inicial y final en una declaración preparada.