我有一个生成动态列的数据表。我有一个日期列要显示,但具体格式
在没有动态列生成的数据表中...我通过这种方式使日期以特定格式显示
<p:dataTable .....>
<p:column headerText="Date" id="dateID"
sortBy="#{iterator.updatedDate}"
filterBy="#{iterator.updatedDate}">
<h:outputText value="#{iterator.updatedDate}">
<f:convertDateTime pattern="MM-dd-yyyy" />
</h:outputText>
</p:column>
</p:dataTable>
我可以做些什么来在动态列的数据表中获得相同的结果...
可以帮我解决这个问题......
答案 0 :(得分:4)
您可以在辅助bean中创建访问器方法,使您能够以字符串的形式直接获取所需格式的日期。
举个例子:
public class MyBean{
private Date myDate;
public Date getMyDate() {
return myDate;
}
public String getMyFormattedDate() {
return new SimpleDateFormat("dd-MM-yyyy").format(myDate);
}
}
然后,在您的dataTable中,应调用属性“myFormattedDate”,以便打印格式化的日期。
答案 1 :(得分:4)
如果您的属性是日历类型,请在其后插入.time。
<h:outputText value="#{iterator.updatedDate.time}">
<f:convertDateTime pattern="MM-dd-yyyy" />
</h:outputText>
答案 2 :(得分:3)
您需要使用以下内容替换标记:
<p-column headerText="Date" id="dateID">
<ng-template let-col let-car="rowData" pTemplate="body">
<span>{{car[col.field] | date: 'MM-dd-yyyy'}}</span>
</ng-template>
</p-column>
答案 3 :(得分:0)
<p-column field="date" header="Date">
<ng-template let-col let-car="rowData" pTemplate="body">
<span>{{car[col.field] | date: 'MM-dd-yyy'}}</span>
</ng-template>
</p-column>
见:https://www.primefaces.org/primeng/#/datatable/templating https://angular.io/api/common/DatePipe
答案 4 :(得分:0)
我有条件地格式化单元格的内容。如果它代表Date对象的数据,我会应用合适的日期格式。
<ng-template pTemplate="body" let-rowData let-columns="cols" let-d>
<tr>
<td *ngFor="let col of cols">
{{col.field == 'dateUtc'? (rowData[col.field] | date: 'dd-MM-yyyy'):rowData[col.field]}}
</td>
</tr>
</ng-template>