3

我有一个 xml 文件,为 Flex 2 中的数据网格提供数据,其中包括一个未格式化的价格字段(即:它只是一个数字)。谁能告诉我如何获取该数据字段并对其进行格式化-添加货币符号,放入千位分隔符等。谢谢。S。

4

3 回答 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 回答