Форматирование номеров подсказок из Flex Barchart - PullRequest
0 голосов
/ 29 апреля 2011

Я просто не знаю, как это сделать. Это код, который у меня есть.

public function doFormatMoneda(valor:Number):String{
                var formatoMoneda:CurrencyFormatter = new CurrencyFormatter();
                formatoMoneda.precision = "2";
                formatoMoneda.rounding = "none"; 
                formatoMoneda.decimalSeparatorTo = "."; 
                formatoMoneda.thousandsSeparatorTo = ","; 
                formatoMoneda.useThousandsSeparator = "true"; 
                formatoMoneda.useNegativeSign = "true";
                formatoMoneda.currencySymbol = "$";
                formatoMoneda.alignSymbol = "left";

                return formatoMoneda.format(valor.toString());
            }

private function formatCurrency(hitData:HitData):String{
            var format:String = doFormatMoneda(Number(hitData));
            return format;          
        }


<mx:BarChart top="30" left="10" width="100%" dataProvider="{orgData}" dataTipFunction="formatCurrency" showDataTips="true" height="430" fontWeight="bold" id="bcCfds">
                    <mx:verticalAxis>
                        <mx:CategoryAxis categoryField="mes"/>
                    </mx:verticalAxis>
                <mx:series>
                    <mx:BarSeries 
                        yField="mes" 
                        xField="totalCancelada" 
                        labelField="totalCanceladaFormato"
                        displayName="Canceladas"
                        barWidthRatio="1.0"/>
                    <mx:BarSeries 
                        yField="mes" 
                        xField="totalPagada" 
                        labelField="totalPagadaFormato"
                        displayName="Pagadas"
                        barWidthRatio="1.0"/>
                    <mx:BarSeries 
                        yField="mes" 
                        xField="totalTerminada" 
                        labelField="totalTerminadaFormato"
                        displayName="Terminadas"
                        barWidthRatio="1.0"/>
                </mx:series>
            </mx:BarChart>  
            <mx:Legend dataProvider="{bcCfds}" direction="horizontal" />

Отображает пустые подсказки. Это сводит меня с ума.

Ответы [ 2 ]

1 голос
/ 29 апреля 2011

Я думаю, вам нужно получить значение валюты из хитданных и преобразовать его в число. тебе стоит попробовать Число (hitData.item) или какое-либо свойство элемента, у которого есть CurrencyValue.

0 голосов
/ 29 апреля 2011
<mx:Script>
    <![CDATA[
        import mx.formatters.CurrencyFormatter;
        import mx.charts.HitData;
        public function doFormatMoneda(valor:Number):String{ 
                var formatoMoneda:CurrencyFormatter = new CurrencyFormatter();  
                formatoMoneda.precision = "2";  
                formatoMoneda.rounding = "none"; 
                formatoMoneda.decimalSeparatorTo = ".";
                formatoMoneda.thousandsSeparatorTo = ",";  
                formatoMoneda.useThousandsSeparator = "true"; 
                formatoMoneda.useNegativeSign = "true"; 
                formatoMoneda.currencySymbol = "$";
                formatoMoneda.alignSymbol = "left";
                return formatoMoneda.format(valor.toString()); 
                }
private function formatCurrency(hitData:HitData):String{
          var format:String = doFormatMoneda(Number(hitData.item.totalCancelada));
          return format;                   
          }   
    ]]>
</mx:Script>

Как сказал arpit, hitData.item - ваш дескриптор объекта. Вы должны указать, какое свойство этого объекта вы хотите отформатировать. Например, я использовал totalCancelada, и он отлично работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...