Сохранение текущего состояния пагинации JSF при переходе на другую страницу и возвращении на страницу, содержащую пагинатор

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

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

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

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

1 ответ

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

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

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

  2. Свяжите это с первым свойством datatable

    <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

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

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