Сохранение текущего состояния пагинации JSF при переходе на другую страницу и возвращении на страницу, содержащую пагинатор
Я использую Tomahawk t:dataScroller для нумерации страниц. Это работает очень хорошо. Есть только одна проблема, которую я попытаюсь объяснить:
Страница A содержит таблицу t:dataTable, которая разбита на страницы с помощью t:dataScroller. В dataTable есть ссылки, которые могут перенаправить меня на другую страницу, скажем, на страницу B. Когда я возвращаюсь из B в A, состояние нумерации страниц перезапускается.
Я имею в виду, что если на странице A я на 5-й странице, а затем перехожу на страницу B, когда я вернусь к A, я буду на 1-й странице A.
Кто-нибудь прошел через это? У кого-нибудь есть идеи?
1 ответ
Вы можете взять под контроль "первое" свойство объекта данных. Что тебе нужно для этого,
Объявите открытую / защищенную переменную в вашем сессионном компоненте,
@ManagedBean @SessionScoped public class DataTableController implements java.io.Serializable { protected int first; // getters and setters...
Свяжите это с первым свойством datatable
<p:dataTable id="results-table" var="result" ... first="#{dataTableController.first}"
При перемещении между страницами сохраняйте значение "первой" записи, используя что-то вроде этого,
public void onPageChange(PageEvent event) { this.setFirst(((DataTable) event.getSource()).getFirst()); }
Для более подробной информации перейдите по ссылке. http://forum.primefaces.org/viewtopic.php?f=3&t=25399
Кстати, спасибо за комментарии