簡體   English   中英

Primefaces Datatable Date列過濾

[英]Primefaces Datatable Date column filtering

如何過濾dd // mm / yyyy模式的Datatable中的Date列? 我正在使用Primefaces 5.2社區版。

<p:column sortBy="#{user.date}" styleClass="date"
    filterBy="#{user.date}" id="date">

        <h:outputText value="#{user.date}">
            <f:convertDateTime type="date" pattern="dd/MM/yyyy" />
        </h:outputText>
        <p:watermark for="@(.date)" value="#{msg['dateOfBirth']}" />

</p:column>

在沒有轉換器的情況下進行過濾,但在沒有轉換器的情況下進行過濾

這對我來說很好。

<p:column headerText="Data " filterBy="#{user.date}">
    <h:outputText value="#{user.date}" />

但是可能不是我真正的問題所在。

編輯。

我復制粘貼的ur代碼,對我來說效果很好...

<p:column sortBy="#{odczyt.data_odczytu}" 
filterBy="#{odczyt.data_odczytu}" id="date">
    <h:outputText value="#{odczyt.data_odczytu}">
        <f:convertDateTime type="date" pattern="dd/MM/yyyy" />
    </h:outputText>
    <p:watermark for="@(.date)" value="#{msg['dateOfBirth']}" />

您必須記住,過濾器不會以轉換后的格式看到您的日期,而是以來自您的支持bean的原始格式查看日期。 因此,當您使用“ yyyy-MM-dd”格式的日期並使用轉換器“ pattern =“ dd / MM / yyyy”“時,在過濾器字段中,您必須使用與原始bean格式相同的模式,例如'2015-05- 03'。

不要在視圖中格式化日期,而是將后備bean轉換並格式化為字符串。

視圖

 <p:column sortBy="#{user.dateAsString}" styleClass="date" 
      filterBy="#{user.dateAsString}" id="date">
    <h:outputText value="#{user.dateAsString}">
 </p:column>

支持豆

public String getDateAsString() {
    Format formatter = new SimpleDateFormat("dd/mm/yyyy");
    return formatter.format(date);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM