I am getting an actionscript error when I switch from clustered type
to stacked type when an interpolate effect is defined as a showdataeffect.

If I don't have any effect defined,the chart type switch works as a charm.

See below the stack-trace and the source code.
Any pointer or workaround is welcomed.


TypeError: Error #1009: Cannot access a property or method of a null
object reference.
        at
mx.charts.chartClasses::NumericAxis/filterCache()[C:\dev\flex_201_gmc\sdk\frameworks;mx\charts\chartClasses;NumericAxis.as:576]
        at
mx.charts.series::ColumnSeries/mx.charts.series:ColumnSeries::updateFilter()
        at
mx.charts.chartClasses::Series/mx.charts.chartClasses:Series::validateTransform()[C:\dev\flex_201_gmc\sdk\frameworks;mx\charts\chartClasses;Series.as:962]
        at
mx.charts.chartClasses::Series/getRenderDataForTransition()[C:\dev\flex_201_gmc\sdk\frameworks;mx\charts\chartClasses;Series.as:1013]
        at mx.charts.effects.effectClasses::SeriesInterpolateInstance/play()
        at
mx.effects::EffectInstance/startEffect()[C:\dev\flex_201_borneo\sdk\frameworks;mx\effects;EffectInstance.as:502]
        at
mx.effects.effectClasses::ParallelInstance/play()[C:\dev\flex_201_borneo\sdk\frameworks;mx\effects\effectClasses;ParallelInstance.as:197]
        at
mx.charts.chartClasses::ChartBase/mx.charts.chartClasses:ChartBase::advanceEffectState()[C:\dev\flex_201_gmc\sdk\frameworks;mx\charts\chartClasses;ChartBase.as:1588]
        at
mx.charts.chartClasses::ChartBase/mx.charts.chartClasses:ChartBase::updateDisplayList()[C:\dev\flex_201_gmc\sdk\frameworks;mx\charts\chartClasses;ChartBase.as:1294]
        at
mx.charts.chartClasses::CartesianChart/mx.charts.chartClasses:CartesianChart::updateDisplayList()[C:\dev\flex_201_gmc\sdk\frameworks;mx\charts\chartClasses;CartesianChart.as:960]
        at
mx.core::UIComponent/validateDisplayList()[C:\dev\flex_201_borneo\sdk\frameworks;mx\core;UIComponent.as:5823]
        at
mx.managers::LayoutManager/mx.managers:LayoutManager::validateDisplayList()[C:\dev\flex_201_borneo\sdk\frameworks;mx\managers;LayoutManager.as:600]





<?xml version="1.0"?>
<!-- Simple example to demonstrate the ColumnChart and BarChart
controls. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";>

    <mx:Script>
        <![CDATA[
          
        import mx.collections.ArrayCollection;

        [Bindable]
        private var medalsAC:ArrayCollection = new ArrayCollection( [
            { Country: "USA", Gold: 35, Silver:39, Bronze: 29 },
            { Country: "China", Gold: 32, Silver:17, Bronze: 14 },
            { Country: "Russia", Gold: 27, Silver:27, Bronze: 38 } ]);
           private var medalsAC2:ArrayCollection = new ArrayCollection( [
            { Country: "USA", Gold: 15, Silver:29, Bronze: 19 },
            { Country: "China", Gold: 12, Silver:27, Bronze: 24 },
            { Country: "Russia", Gold: 17, Silver:17, Bronze: 18 } ]);
     
        ]]>
    </mx:Script>

 <mx:SeriesInterpolate id="interpolateIn" duration="1000"/>
 
    <mx:Panel title="ColumnChart and BarChart Controls Example" 
        height="100%" width="100%" layout="horizontal">
        <mx:VBox   height="100%" width="100%">
          <mx:HBox width="100%">
            <mx:Spacer width="100%" />
            <mx:RadioButton groupName="results" label="Result 1"
                selected="true" click="column.dataProvider=medalsAC;"/>
            <mx:RadioButton groupName="results" label="Result 2"
                click="column.dataProvider=medalsAC2;"/>
             
        
            <mx:Spacer width="200" />
            <mx:RadioButton groupName="chartType" label="Stacked"
                  click="column.type='stacked'"/>
            <mx:RadioButton groupName="chartType" label="Clustered"
                selected="true"  click="column.type='clustered'"/>
                <mx:Spacer width="100%" />
        </mx:HBox>
        <mx:HBox   height="100%" width="100%">    
        <mx:ColumnChart id="column" height="100%" width="100%" 
type="clustered" 
            paddingLeft="5" paddingRight="5" 
           
            showDataTips="true" dataProvider="{medalsAC}">
                
            <mx:horizontalAxis>
                <mx:CategoryAxis categoryField="Country"/>
            </mx:horizontalAxis>
                
            <mx:series>
                <mx:ColumnSeries xField="Country" yField="Gold"
displayName="Gold"     showDataEffect="{interpolateIn}" />
                <mx:ColumnSeries xField="Country" yField="Silver"
displayName="Silver" showDataEffect="{interpolateIn}" />
                <mx:ColumnSeries xField="Country" yField="Bronze"
displayName="Bronze" showDataEffect="{interpolateIn}" />
            </mx:series>
        </mx:ColumnChart>

        <mx:Legend dataProvider="{column}"/>

        
        </mx:HBox>
   </mx:VBox>
    </mx:Panel>
</mx:Application>



Reply via email to