Я хочу получить текущее количество строк на странице, как только пользователь что-то изменит в paginator. Я попробовал это с page-event, который работает, чтобы поймать взаимодействие с пользователем. Но я получаю предыдущий номер. Пояснение: Если я перейду с 10 на 20, мне вернут 10, а если я снова перейду с 20 на 30 или вернусь к 10, я получу 20.
Я не мог понять, как получитьправильный номер на странице-событии.
<p:dataTable id="userTable" var="user" value="#{userController.lazyModel}"
widgetVar="userTableVar" selection="#{userController.selectedUser}"
paginator="true" rows="#{userController.defaultRows}" paginatorPosition="bottom" rowSelectMode="checkbox"
lazy="true"
paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {PageLinks} {CurrentPageReport} {NextPageLink} {LastPageLink}"
rowKey="#{user.userId}" rowsPerPageTemplate="#{userController.rowOptions}"
emptyMessage="#{bundle.noRows}" >
<p:ajax event="page" listener="#{userController.onPaginate}"></p:ajax>
.....
</p:dataTable>
public void onPaginate(PageEvent event) {
DataTable table = (DataTable) event.getSource();
System.out.println(table.getPaginatorTemplate() + " - " + table.getRows());
System.out.println(event.getPage() + " - " + getDefaultRows());
}