2015-02-10 67 views
3

我正在使用Jsf 2.2和primefaces 4.0。当我使用这个代码时一切正常。下拉列表不显示在primefaces数据表列过滤器框中

<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

过滤方面不是在4.0支持...(查看文档,检查blog看的时候加入它等)

+0

感谢------------- Kukeltje – Shihab 2015-02-10 11:52:11

1

由于过滤切面不可用4.0,你可以使用<p:columnfilterOptions,刚刚创建的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; 

...

manufacturers = new String[10]; 
    manufacturers[0] = "Mercedes"; 
    manufacturers[1] = "BMW"; 
    manufacturers[2] = "Volvo"; 
    manufacturers[3] = "Audi"; 
    manufacturers[4] = "Renault"; 
    manufacturers[5] = "Opel"; 
    manufacturers[6] = "Volkswagen"; 
    manufacturers[7] = "Chrysler"; 
    manufacturers[8] = "Ferrari"; 
    manufacturers[9] = "Ford"; 

public SelectItem[] getManufacturerOptions() { 
    return manufacturerOptions; 
} 

查看展柜DataTable - Filtering


Read more in the docs

+0

感谢丹尼尔完整的例子。有用 。但从哪个版本开始可以使用Filter Facets请通知我。再次感谢 – Shihab 2015-02-10 11:19:10

+0

可能自PF-5(根据以下http://blog.primefaces.org/?p=3084) – Daniel 2015-02-10 12:10:46

+0

由于PF-5可用筛选器构面。感谢Deniel – Shihab 2015-02-10 13:24:44