Фильтр данных Primefaces: установить фильтр со страницы xhtml - PullRequest
0 голосов
/ 28 сентября 2018

Я хотел бы создать несколько страниц xhtml, используя одну и ту же таблицу данных с другим фильтром.

Например, была бы страница men.xhtml и women.xhtml from и вызов службы getHumans;Мне бы хотелось, чтобы фильтр применялся автоматически без его ввода, и я не хочу создавать дополнительный вид, поскольку мне кажется, что это пустая вещь.

Я пробовал этот код безуспешно

<p:column filterBy="human.gender" filteredValue="men"
                            headerText="Gender" style="width: 150px;">

                            <h:outputText value="#{human.gender}" />
                        </p:column>

Я также пытался добавить это:

<p:dataTable id="gender" var="gender" filterValue="men" ...

, но это не сработало

Есть идеи, что я могу сделать?

1 Ответ

0 голосов
/ 29 сентября 2018

С помощью атрибута filterValue таблицы данных вы должны предоставить список для хранения отфильтрованных данных, если фильтрация включена.Вы можете ограничить список, полученный из вашего bean-компонента в xhtml, используя язык выражений () с потоком:

<p:dataTable value="#{yourBean.humans.stream().filter(human -> human.getGender().equals('men')).toList()}" ...>

Для работы этой версии требуется версия EL 3.0 или выше.

...