Отображение даты в Spark DataGrid - PullRequest
3 голосов
/ 20 мая 2011

У меня есть Datagrid, который получает свои данные из ArrayCollection модели "beans".ArrayCollection Outcomes представляет собой список Outcome

  <s:DataGrid  dataProvider="{outcomes}">
    <s:columns>
        <s:ArrayList>
            <s:GridColumn dataField="outcome" headerText="Outcome" width="120"/>
            <s:GridColumn dataField="dateRequired" headerText="Date Req" width="130"/>
        </s:ArrayList>
    </s:columns>
  </s:DataGrid>

Outcome.as

[Bindable]
public class ASPersonalOutcomeSummary  {

    public var _outcome:String;
    public var _dateRequired:Number;
}

Проблема заключается вчто dateRequired представлено как число, это дизайнерское решение было принято, чтобы упростить переход между клиентом AS и бэкэндом Java.

Я действительно хочу отобразить это число в виде строки даты (например, 1 февраля 2011 года или что-то в этом роде), но поскольку это число, оно просто отображается как метка времени в сетке данных ... например.

Результаты |Дата обязательна


блинххххх |12389712987

blahhhhh2 |13242342349

Есть идеи?

Ответы [ 2 ]

4 голосов
/ 20 мая 2011

Используйте labelFunction, что-то вроде следующего:

private function dateLabelFunction(item: ASPersonalOutcomeSummary, column:GridColumn):String
{
    var timeStamp:Number = item. _dateRequired;
    var date:Date = new Date(timeStamp);
    return new DateFormatter().format(date);
}

А потом:

<s:DataGrid  dataProvider="{outcomes}">
    <s:columns>
        <s:ArrayList>
            <s:GridColumn dataField="outcome" headerText="Outcome" width="120"/>
            <s:GridColumn labelFunction="dateLabelFunction" headerText="Date Req" width="130"/>
        </s:ArrayList>
    </s:columns>
  </s:DataGrid>
2 голосов
/ 20 мая 2011

Вы можете просто создать новую дату (_dataRequired) в функции labelFunction, а затем отформатировать ее в формате даты.

Приветствия

...