2011-05-20 35 views
3

我有一個Datagrid從模型「beans」的ArrayCollection中獲取其數據。一個ArrayCollection 成果成果在Spark DataGrid中顯示日期

<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後端之間傳遞更容易。

我真的希望顯示這個數字作爲日期字符串(例如2011年2月1日或類似的東西),但因爲它是一個數字,它只是顯示爲數據網格中的時間戳...例如。

結果|需要日期


blahhhhhh | 12389712987

blahhhhh2 | 13242342349

任何想法?

回答

4

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

您可以在labelFunction中執行新的Date(_dataRequired),然後使用dateformatter格式化它。

乾杯