Сохранение текущего состояния пагинации JSF при переходе на другую страницу и возвращении на страницу, содержащую пагинатор - PullRequest
1 голос
/ 16 сентября 2010

Я использую Tomahawk t: dataScroller для нумерации страниц. Это работает очень хорошо. Есть только одна проблема, которую я попытаюсь объяснить:

Страница A содержит таблицу t: dataTable, которая разбита на страницы с помощью t: dataScroller. В dataTable есть ссылки, которые могут перенаправить меня на другую страницу, скажем страница B . Когда я возвращаюсь из B в A, состояние нумерации страниц возобновляется.

Я имею в виду, что если на странице A я нахожусь на странице 5th , а затем перехожу на страницу B, когда я вернусь к A, я буду на 1011 * 1-ая страница на A.

Кто-нибудь прошел через это? У кого-нибудь есть идеи?

1 Ответ

1 голос
/ 05 февраля 2014

Вы можете взять под контроль «первое» свойство объекта данных. Что нужно для этого,

  1. Объявите открытую / защищенную переменную в вашем сессионном компоненте,

    @ManagedBean @SessionScoped public class DataTableController implements java.io.Serializable { protected int first; // getters and setters...

  2. Свяжите его с «первым» свойством данных

    <p:dataTable id="results-table" var="result" ... first="#{dataTableController.first}"

  3. При навигации по страницам сохраняйте «первое» значение записи, используя что-то вроде этого:

    public void onPageChange(PageEvent event) { this.setFirst(((DataTable) event.getSource()).getFirst()); }

Для получения более подробной информации перейдите по ссылке. http://forum.primefaces.org/viewtopic.php?f=3&t=25399#p80324

Кстати, спасибо за комментарии

...