4

我有一个生成动态列的数据表。我有一个要显示的日期列,但采用特定格式

在我没有动态列生成的数据表中...我通过这种方式使日期以特定格式显示

<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>

我该怎么做才能在动态列的数据表中获得相同的结果...

任何人都可以帮助我解决这个问题...

4

5 回答 5

6

如果您的属性是日历类型,则在其后插入 .time。

<h:outputText value="#{iterator.updatedDate.time}">
       <f:convertDateTime pattern="MM-dd-yyyy" />
 </h:outputText>
于 2016-07-07T18:13:14.563 回答
4

您可以在支持 bean 中创建访问器方法,使您能够以所需格式直接获取日期,作为字符串。

举个例子:

public class MyBean{

    private Date myDate;

    public Date getMyDate() {
        return myDate;
    }

    public String getMyFormattedDate() {
        return new SimpleDateFormat("dd-MM-yyyy").format(myDate);
    }
}

然后,在您的数据表中,应该调用属性“myFormattedDate”,以便打印格式化的日期。

于 2013-08-14T16:58:46.093 回答
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>
于 2017-04-05T18:03:30.133 回答
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>
于 2018-02-02T01:07:32.873 回答
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/template https://angular.io/api/common/DatePipe

于 2017-09-05T07:51:59.117 回答