У меня есть дата с несколькими фильтрами для фильтрации в бэкэнде. В Primefaces 7.0 все работает нормально, но после обновления до 8.0 все фильтры, похоже, используют последний определенный фильтр на стороне x html.
Все cloumns выглядят так же, просто с другим методом в фильтруемой функции:
<p:column filterBy="#{variant}" headerText="source"
filterFunction="#{variantBean.filterBySource}"
style="padding-top: 7px;">
<f:facet name="filter">
<p:selectCheckboxMenu id="menu2" value="#{variantBean.selectedSources}" label="Select many"
filter="true" filterMatchMode="startsWith"
onchange="PF('dataTable').filter()" multiple="true">
<f:selectItems value="#{variantBean.sourceList}" var="externalSource"
itemValue="#{externalSource.toString()}"/>
</p:selectCheckboxMenu>
</f:facet>
<h:outputText value="#{variantBean.getExternalSources(variant)}"/>
</p:column>
Например, если у меня есть 3 столбца со значением filterFunction: optionBean.filterby1, variableBean.filterby2 и variableBean.filterby3 не имеет значения, какой я использую. В бэкэнде это всегда go в filterBy3, но с filter = null.
public boolean filterBy3 (Object value, Object filter, Locale locale) {
...
}
Я не знаю, что мне нужно изменить, чтобы он работал в 8.0, как в 7.0 раньше. Есть идеи?