p:datatable filter does not work right anymore after update 7.0 to 8.0

505 Views Asked by At

I have a datatable with multiple filter for filtering in backend. In Primefaces 7.0 it all works out fine but after the update to 8.0 all filter seem to use the last defined filter in the xhtml side.

All cloumns looks like this just with different method in filteredfunction:

        <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>

For example if i have 3 colums with the filterFunction value variantBean.filterby1, variantBean.filterby2 and variantBean.filterby3 not matter which i use. In backend it always go in filterBy3 but with filter = null.

 public boolean filterBy3 (Object value, Object filter, Locale locale) {
...
}

I dont know what i have to change to make it run in 8.0 like in 7.0 before. Any ideas?

0

There are 0 best solutions below