我有一个 xml 文件,为 Flex 2 中的数据网格提供数据,其中包括一个未格式化的价格字段(即:它只是一个数字)。谁能告诉我如何获取该数据字段并对其进行格式化-添加货币符号,放入千位分隔符等。谢谢。S。
问问题
17506 次
3 回答
4
非常感谢您的回答...他们帮助很大。
最后,我找到了一个涉及以下三个要素的解决方案:
<mx:DataGridColumn headerText="Price" textAlign="right" labelFunction="formatCcy" width="60"/>
public function formatCcy(item:Object, column:DataGridColumn):String
{
return euroPrice.format(item.price);
}
<mx:CurrencyFormatter id="euroPrice" precision="0"
rounding="none"
decimalSeparatorTo="."
thousandsSeparatorTo=","
useThousandsSeparator="true"
useNegativeSign="true"
currencySymbol="€"
alignSymbol="left"/>
我不知道这是否是正确的解决方案,但它似乎工作(目前),再次感谢,S ...
于 2008-10-06T22:12:05.703 回答
1
如上所述,一种简单的方法是将 labelFunction 添加到指定列并格式化其中的数据。
我经常发现使用对象比直接使用 XML 更容易,所以通常如果我从函数接收 XML,我会为该 XML 创建一个对象和解析器,如果你愿意,你也可以在解析器中格式化数据。
另一种处理方法是在 itemRenderer 中。例子:
<mx:DataGridColumn id="dgc" headerText="Money" editable="false">
<mx:itemRenderer>
<mx:Component>
<mx:HBox horizontalAlign="right">
<mx:CurrencyFormatter id="cFormat" precision="2" currencySymbol="$" useThousandsSeparator="true"/>
<mx:Label id="lbl" text="{cFormat.format(data)}" />
</mx:HBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
于 2008-10-06T14:50:49.183 回答
0
CurrencyFormatter 类怎么样
有关 Flex 2 的文档,请参见此处。它非常易于使用。
您可以在 DataGrid 列上的 labelFunction 中使用其中之一来格式化您的数字。
于 2008-10-06T12:22:07.440 回答