2017-08-21 40 views
0

我正在使用PrimeFaces 5.2。我想通过日历这样的过滤Primefaces数据表(日柱):Primefaces Datatable:按日历过滤

enter image description here

我写了这个代码,但不工作:

<p:column filterBy="#{etudiant.dateNaissance}" headerText="Naissance" 
      filterMatchMode="exact"> 
      <f:facet name="filter"> 
       <p:calendar pattern="yyyy-MM-dd"> 
        <p:ajax event="dateSelect" oncomplete="PF('etudiantTable').filter()" update="dataTable"/> 
        <p:ajax event="change" execute="@this" oncomplete="PF('etudiantTable').filter()" update="dataTable"/> 
       </p:calendar> 
      </f:facet> 
      <h:outputText value="#{etudiant.dateNaissance}" > 
      <f:convertDateTime type="date" pattern="yyyy-MM-dd" /> 
      </h:outputText> 
     </p:column> 

任何帮助?

+1

我有一种似曾相识...... – Kukeltje

回答

0

我找到了解决办法:增加列日期=的filterFunction “myBean.filterByDate”

FilterByDate功能:

public boolean filterByDate(Object value, Object filter, Locale locale) { 
    if(filter == null) { 
     return true; 
    } 

    if(value == null) { 
     return false; 
    } 

    Date dt2 = (Date) filter; 

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
    String date2 = sdf.format(dt2); 
    boolean status = date2.equals(value.toString()); 
    return status; 
}