Формат даты как MM-dd-yyy в ‹p:datatable› с динамическим столбцом

У меня есть таблица данных с динамическими столбцами. у меня есть столбец даты для отображения, но в определенном формате

в моей таблице данных без генерации динамических столбцов... таким образом я делаю дату для отображения в определенном формате

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

что я могу сделать, чтобы получить тот же результат в моей таблице данных с динамическими столбцами...

может ли кто-нибудь помочь мне в исправлении этого ...


person senthil_sss    schedule 22.03.2013    source источник


Ответы (5)


Если ваше свойство относится к типу календаря, вставьте .time после него.

<h:outputText value="#{iterator.updatedDate.time}">
       <f:convertDateTime pattern="MM-dd-yyyy" />
 </h:outputText>
person Talles Penini    schedule 07.07.2016

Вы можете создать методы доступа в своем компоненте поддержки, которые позволят вам напрямую получить дату в нужном формате в виде строки.

Возьмите этот пример:

public class MyBean{

    private Date myDate;

    public Date getMyDate() {
        return myDate;
    }

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

Затем в вашем dataTable должно быть вызвано свойство «myFormattedDate», поэтому отформатированная дата будет напечатана.

person floshton    schedule 14.08.2013

Вам нужно заменить разметку на следующую:

<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>
person rodolfocop    schedule 05.04.2017
comment
Спасибо, вот что я использовал ‹p-column field=requestDate headerText=Дата запроса › ‹template let-col let-bol=rowData pTemplate=body› ‹span›{{bol[col.field] | date: 'medium'}}‹/span› ‹/template› ‹/p-column› - person user2662006; 08.06.2017

<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

person Jayson San Agustin    schedule 05.09.2017

Я условно форматирую содержимое ячейки. Если он будет представлять данные из объекта 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>
person Amadeus Sánchez    schedule 02.02.2018