Обновить количество строк данных после фильтрации - PullRequest
0 голосов
/ 24 июня 2019

У меня есть веб-приложение Java с таблицей данных Primefaces с включенной фильтрацией.Я хочу отобразить количество строк в таблице.Я использую AJAX-вызов для обновления количества строк.Проблема в том, что вызов обновления вызывается перед фильтрацией.Таким образом, каждый раз, когда я фильтрую, я вижу количество строк результата фильтрации previois.

Primefaces:

<p:outputLabel id=count value="#{myClass.displayedCount}" />
<p:dataTable <!-- filter and all the stuff --> ...>
   <p:ajax event="filter" update=":count"></p:ajax>

JavaCode:

public int getDisplayedCount() {
   displayedCount = filteredData != null ? filteredData.size() : data.size();
   return displayedCount;
}

Пример: количество по умолчанию равно 10, после первой фильтрации количество все еще равно 10, но в таблице отображаются только 5 записей.После очередной фильтрации количество равно 5, но в таблице 7 записей.

Как это исправить?

Заранее спасибо.

1 Ответ

0 голосов
/ 25 июня 2019

Как @Selaron предложил в комментариях, я использовал {totalRecords} в таблице данных

<p:dataTable ... paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} " currentPageReportTemplate="Showing {startRecord}-{endRecord} out of {totalRecords}">

Я добавил paginatorTemplate и currentPageReportTemplate в таблицу данных.Но я точно уверен, что делает paginatorTemplate.Кто-нибудь может мне это объяснить?

Но проблема с этим решается.

Спасибо @ Selaron.

...