I am looking for a way for the pie chart to update each time the 
custom component is viewed. Right now the way I have it, the chart 
does not visually appear on the screen. If I use creationcomplete 
event to fire it off, then it works, but will never update. 
Suggestions? Here's some of my code:

<mx:VBox 
        xmlns:mx="http://www.adobe.com/2006/mxml";
        xmlns:vd="com.cust.app.view.dashboard.*"
        show="usagePie_show()">

        <mx:Script>
                <![CDATA[

                        private function usagePieDataProvider
(mbUsed:Number, mbAllowed:Number):ArrayCollection {
                                var mbFree:Number;
                                var arr:Array = [];
                                
                                //Calcuate kb free
                                mbFree = mbAllowed - mbUsed;
                                
                                //Build chart data
                                arr.push({label:"MB Used", 
data:mbUsed});
                                arr.push({label:"MB Free", 
data:mbFree});
                                return new ArrayCollection(arr);
                        }
                        
                        private function usagePie_show():void {
                                var bytesUsed:Number = new Number();
                                var mbUsed:Number = new Number();
                                var mbAllowed:Number = new Number();
                                
                                var series:PieSeries;
                                var pctUsed:Number;
                                
                                //calculate usage numbers
                                mbAllowed = 2048; //kmb allowed per 
user
                                bytesUsed = 
model.currentCustomer.fileSizeBytes; //get the bytes used
                                mbUsed = Math.ceil
(bytesUsed/1024/1024); //convert bytes used to MB and rounds up
                                pctUsed = Math.ceil((mbUsed / 
mbAllowed) * 100); //calculate percentage of space used
                                
                                //Define pie series
                                series = new PieSeries();
                                series.nameField = "label";
                                series.field = "data";
                                
                                //Define pie chart
                                usagePie.dataProvider = 
usagePieDataProvider(mbUsed, mbAllowed);
                                usagePie.series = [series];
                                
                                //Title the chart
                                usagePieTitle.text = pctUsed + "% 
Storage Used (" + mbUsed + "MB)";
                                
                        }
                ]]>
        </mx:Script>

                                        <mx:PieChart id="usagePie"
                                                                 
showDataTips="true"
                                                                 
width="140"
                                                                 
height="140"
                                                                 
click="usagePie_show()" />

</mx:VBox>

Reply via email to