我需要使用货币格式化程序格式化列。我知道如何进行货币格式化我只需要一个关于如何将其实现到datagrid列的示例。
答案 0 :(得分:1)
无需使用itemRenderer
。只需使用labelFunction
即可。例如:
DataGridColumn:
<mx:DataGridColumn headerText="Total Cost" dataField="TotalCost" labelFunction="LabelFormatter"/>
LabelFormatter标签功能:
protected function LabelFormatter(item:Object, column:DataGridColumn):String
{
var returnLabel:String = "";
var header:String = column.headerText;
switch (header)
{
case "Total Cost":
returnLabel = currencyFormat.format(item.TotalCost.toString());
break;
}
return returnLabel;
}
货币格式化程序:
<mx:CurrencyFormatter id="currencyFormat" precision="2" />
答案 1 :(得分:1)
或者:
private function formatarValor(item:Object, coluna:DataGridColumn):String{
return realFormatter.format(item[coluna.dataField]);
}
答案 2 :(得分:1)
基于ActionScript的答案,不需要定义其他功能:
var currencyFormatter:CurrencyFormatter = new CurrencyFormatter();
var gridCol:GridColumn = new GridColumn("My Money");
gridCol.dataField = "amount";
gridCol.formatter = currencyFormatter;
从Adobe docs开始,labelFunction属性对于执行更复杂的任务非常有用,例如将数据提供程序中的两个字段组合到一个列中。但是对于一个简单的任务,例如格式化货币值,上面的代码就足够了。