p:datatable过滤器在7.0到8.0更新后不再正常工作

时间:2020-03-23 15:21:56

标签: datatable primefaces filterfunction primefaces-7.0 primefaces-8.0

我有一个带有多个过滤器的数据表,用于后端过滤。在Primefaces 7.0中,一切正常,但是更新到8.0之后,所有过滤器似乎都使用了xhtml端最后定义的过滤器。

所有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值的variantBean.filterby1,columnBean.filterby2和variantBean.filterby3的列,则与我使用哪个无关。在后端,它总是放在filterBy3中,但filter = null。

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

我不知道我需要做些什么才能使其像7.0之前一样在8.0中运行。有什么想法吗?

0 个答案:

没有答案