下拉列表未显示在primefaces数据表列过滤器框中

时间:2015-02-10 08:01:39

标签: jsf-2 primefaces

我正在使用Jsf 2.2和primefaces 4.0。当我使用这段代码时一切正常。

 <p:column headerText="Status" filterBy="#{List_request.rechargeStatusName}" filterMatchMode="contains" >

           <h:outputText value="#{List_request.rechargeStatusName}" />
 </p:column>

但是当我尝试在此列的过滤器框中加载下拉列表时。 并编写此代码

 <p:column headerText="Status" filterBy="#{List_request.rechargeStatusName}" filterMatchMode="contains" >
                            <f:facet name="filter">
                                <p:selectOneMenu value="#{List_request.rechargeStatusName}" onchange="PF('reTab').filter()">
                                    <f:selectItem itemLabel="-Select One-" itemValue="#{null}" noSelectionOption="true" />
                                    <f:selectItems value="#{allRequestDetailsBean.rechargeStasusNameList}" />
                                </p:selectOneMenu>
                            </f:facet>
                            <h:outputText value="#{List_request.rechargeStatusName}" />
            </p:column>

然后下拉列表不显示在过滤器框中,过滤不起作用-------- Plase帮助任何人。

2 个答案:

答案 0 :(得分:2)

4.0版不支持过滤器方面...(查看文档,检查blog以查看添加时间等等。)

答案 1 :(得分:1)

由于过滤器构面在4.0中不可用,您可以使用filterOptions的{​​{1}},只需创建一个<p:column的数组,相关值并将其放在SelectItem[]

示例:

filterOptions

...

<p:column filterBy="#{car.manufacturer}"   
    headerText="Manufacturer" footerText="exact"  
    filterOptions="#{tableBean.manufacturerOptions}"  
    filterMatchMode="exact">  
    <h:outputText value="#{car.manufacturer}" />  
</p:column>


private SelectItem[] manufacturerOptions;  

在展示DataTable - Filtering

上查看完整示例

Read more in the docs