JSF 2 с PrimeFaces: нумерация страниц таблицы данных не работает - PullRequest
0 голосов
/ 04 августа 2011

Я использую Mojarra 2.0.3 на Tomcat 6.0 и PrimeFaces 2.

Я использую таблицу данных с отложенной загрузкой, которая работает без проблем. Теперь я добавил нумерацию страниц, и таблица вычисляет количество страниц не правильно.

<p:dataTable id="tableList" value="#{overview.lazyModel}" rendered="#{!overview.listEmpty}" var="e"
    paginator="true" rows="10" lazy="true"
    paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
    rowsPerPageTemplate="5, 10, 20, 50">

При первой загрузке иногда не отображаются данные, хотя компонент отправил его правильно (я печатаю данные, отправленные в таблицу, в консоль Tomcat), а также данные из таблицы (размер страницы, фильтры, sortMode ...) правильно.

lazyModel = new LazyDataModel<Bericht>() {
    @Override  
    public List<Bericht> load(int first, int pageSize, String sortField, boolean sortOrder, Map<String,String> filters) {
        List<Bericht> lazyBerichte;     

        lazyBerichte = [...]; // fill data
        setRowCount([...]); // set row count

        return lazyBerichte;
    };          
}

Надеюсь, что это не ошибка в простых лицах, потому что я не могу дождаться выхода новой версии (проект должен быть готов через 5 недель).

У кого-нибудь есть идея? Я все перепробовал, но ничего не работает.

Привет из Германии, Andy

Ответы [ 2 ]

0 голосов
/ 28 ноября 2013

Я столкнулся с той же проблемой. Я решил это (на PF2.2RC), используя lazyModel.loadLazyData ().

Ленивая загрузка + командная кнопка на основных лицах

Попробуйте использовать его в своем экземпляре.

0 голосов
/ 31 октября 2011

Я столкнулся с этой проблемой сегодня и нашел обходной путь к этой проблеме. Просто добавьте эту строку после создания экземпляра lazyModel:

lazyModel.setRowCount(1);

Таблица ленивых данных не отображает содержимое начальной страницы

Мне это хорошо работало.

...