3

書式設定されていない価格フィールドを含むFlex2のデータグリッドのデータを提供するxmlファイルがあります(つまり、これは単なる数値です)。誰かが私がそのデータフィールドを取得してフォーマットする方法を教えてもらえますか?通貨記号を追加したり、千の区切り記号を入れたりします。ありがとう。S。

4

3 に答える 3

4

あなたの答えに感謝します...彼らは大いに役に立ちました。

最終的に、次の 3 つの要素を含むソリューションに行きました。

<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 に答える