Фильтр p: datatable больше не работает правильно после обновления 7.0 до 8.0 - PullRequest
0 голосов
/ 23 марта 2020

У меня есть дата с несколькими фильтрами для фильтрации в бэкэнде. В 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 раньше. Есть идеи?

...