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