Каков метод обновления данных на последующих страницах (вторая страница, третья страница и т. д.) таблицы Primefaces dataTable с помощью метода LazyDataModel?
Кроме того, если я выбираю элемент в dataTable, чтобы просмотреть его детали на другой странице, а затем возвращаюсь к dataTable, используя либо кнопку «Назад» в браузере, либо реализую метод JavaScript history.back(), кажется, что dataTable всегда сбрасывает свою позицию на на первую страницу вместо того, чтобы вернуться на страницу, на которой был пользователь. Как я могу заставить dataTable оставаться на последней просмотренной странице?
Мои коды для ленивой загрузки:
private final class LazyLoader extends LazyDataModel<BookModel>
{
private static final long serialVersionUID = 1L;
public LazyLoader(String sort, String category, String operator, String input) {
setListing(getBookService().getListing(sort, category, operator, input));
}
@Override
public List<BookModel> load(int first, int pageSize, String sortField, boolean sortOrder, Map<String, String> filters) {
return getListing();
}
}
А для метода Submit
это:
public String Submit()
{
sort = sortBean.getSort();
category = categoryBean.getCategory();
operator = operatorBean.getOperator();
input = searchBean.getInput();
lazyModel = new LazyLoader(sort, category, operator, input);
lazyModel.setRowCount(listing.size());
return null;
}
Я использую @ViewScoped
для вывода списка записей книги, а также для отображения деталей записи книги.
У кого-нибудь есть подобные проблемы с таблицей данных Primefaces?