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);
        }
    }
}

}
Другие вопросы по тегам