GWT DataGrid с SimplePager, выпуск последней страницы
Я использую GWT DataGrid с SimplePager, чтобы показать мои данные,
Компонент показывает первые страницы правильно, но последняя страница всегда показывает 10 строк (10 = SimplePager.pagesize), даже если у нас есть менее 10 строк для отображения.
Кто-нибудь имеет представление о своей проблеме?
Thanx.
1 ответ
Решение
Я сталкивался с подобной проблемой раньше. Небольшая разница в том, что я использовал Celltable вместо DataGrid.
Проблема связана с известной ошибкой gwt, подробности которой вы можете увидеть на странице github. Очевидно, это было исправлено.
Обходной путь - создать подкласс SimplePager и создать свой собственный класс пейджера.
import com.google.gwt.user.cellview.client.SimplePager;
import com.google.gwt.view.client.Range;
public class CustomPager extends SimplePager {
public CustomPager() {
this.setRangeLimited(true);
}
@Override
public void setPageStart(int index) {
if (this.getDisplay() != null) {
Range range = this.getDisplay().getVisibleRange();
int pageSize = range.getLength();
index = Math.max(0, index);
if (index != range.getStart()) {
this.getDisplay().setVisibleRange(index, pageSize);
}
}
}
}