我有一个xml文件,为Flex 2中的数据网格提供数据,其中包含未格式化的价格字段(即:它只是一个数字)。 任何人都可以告诉我如何采取该数据字段并格式化它 - 添加货币符号,放入千位分隔符等。 谢谢。 S上。
答案 0 :(得分: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"/>
我不知道这是否是正确的解决方案,但似乎有效(目前), 再次感谢, 小号...
答案 1 :(得分: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>
答案 2 :(得分:0)