如何在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>
没有转换器的过滤工作,但转换器不再起作用
答案 0 :(得分:0)
这对我来说很好。
<p:column headerText="Data " filterBy="#{user.date}">
<h:outputText value="#{user.date}" />
但可能我不知道你的真正问题是什么。
编辑。
我复制粘贴的代码,它对我来说很好......
<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”中约会时,格式和使用转换器&#39; pattern =&#34; dd / MM / yyyy&#34;&#39;,在过滤器字段中u必须使用与原始bean格式相同的模式,例如&#39; 2015-05- 03&#39 ;.
答案 1 :(得分:-2)
不要在视图中格式化日期,而是将其转换并格式化为支持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);
}