Jsf Primefaces p:dataTable筛选器不使用p:columns

Jsf Primefaces p:dataTable筛选器不使用p:columns,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,我们的项目使用JSF2.2 primeface 5.1。我使用以下代码在我的JSF页面中显示datatable,我根据动态列的类型为动态过滤器添加了。但是,当我在每列的标题或选择下拉列表中键入条件时,datatable并没有过滤 如果我删除部分。虽然筛选器类型不会动态更改(它将始终是输入文本),但筛选工作正常,datatable将根据键入的条件进行筛选。任何想法都将不胜感激 <p:dataTable id="myTable" var="model" value="#{myBackingBe

我们的项目使用JSF2.2 primeface 5.1。我使用以下代码在我的JSF页面中显示datatable,我根据动态列的类型为动态过滤器添加了
。但是,当我在每列的标题或选择下拉列表中键入条件时,datatable并没有过滤

如果我删除
部分。虽然筛选器类型不会动态更改(它将始终是输入文本),但筛选工作正常,datatable将根据键入的条件进行筛选。任何想法都将不胜感激

<p:dataTable id="myTable" var="model" value="#{myBackingBean.dynaModels}" widgetVar="tableWidget" editable="true" styleClass="ui-dyna-table" 
         rows="15" paginator="true" resizableColumns="true" tableStyle="width:auto" emptyMessage=""> 
<p:columns value="#{myBackingBean.myProperties}" var="myProperty" columnIndexVar="colIndex" styleClass="ui-editable-column" width="50px" filterBy="#{model.dyanModel[myProperty.propertyKey].value}" sortBy="#{model.dyanModel[myProperty.propertyKey].value}">
    <f:facet name="header" >
        <h:outputText value="#{myProperty.descr}" />                                     
    </f:facet>
    <f:facet name="filter" >
        <p:selectOneMenu rendered="#{myProperty.componentType.value eq 'S1'}" style="width:100px" onchange="PF('tableWidget').filter()" >
            <f:selectItem itemValue="" noSelectionOption="true"/>
            <f:selectItems value="#{myProperty.lov}" />
        </p:selectOneMenu>
        <p:inputText rendered="#{myProperty.componentType.value eq 'TXT'}" style="width:80px" onchange="PF('tableWidget').filter()" />
        <p:calendar rendered="#{myProperty.componentType.value eq 'DT'}" showOn="button" pattern="dd-MMM-yyyy" onchange="PF('tableWidget').filter()" >                              
        </p:calendar>
    </f:facet>
    <h:outputText value="#{model.dyanModel[myProperty.propertyKey].value}"  />
</p:columns>


经过一番搜索,我发现这是一个已知的素面缺陷。动态p:列中的筛选器不工作。我试着用下面的方法来改变我的jsf,它是有效的

<c:forEach ...>
   <p:column>
   </p:column>
</c:forEach>

instead of 

<p:columns>
</p:columns>

而不是

它是如何工作的,您希望得到什么?