One of the workarounds is to specify an hideDataEffect as well for each
series.

 

Thanks

-Sunli

 

________________________________

From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of Claude Hussenet
Sent: Friday, June 15, 2007 7:50 AM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] [CHARTING COMPONENT] Issue in combining
Interpolate effect and Chart type switch

 

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\sd
k\frameworks;mx\charts\chartClasses;NumericAxis.as:576]
at
mx.charts.series::ColumnSeries/mx.charts.series:ColumnSeries::updateFilt
er()
at
mx.charts.chartClasses::Series/mx.charts.chartClasses:Series::validateTr
ansform()[C:\dev\flex_201_gmc\sdk\frameworks;mx\charts\chartClasses;Seri
es.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\fram
eworks;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::adva
nceEffectState()[C:\dev\flex_201_gmc\sdk\frameworks;mx\charts\chartClass
es;ChartBase.as:1588]
at
mx.charts.chartClasses::ChartBase/mx.charts.chartClasses:ChartBase::upda
teDisplayList()[C:\dev\flex_201_gmc\sdk\frameworks;mx\charts\chartClasse
s;ChartBase.as:1294]
at
mx.charts.chartClasses::CartesianChart/mx.charts.chartClasses:CartesianC
hart::updateDisplayList()[C:\dev\flex_201_gmc\sdk\frameworks;mx\charts\c
hartClasses;CartesianChart.as:960]
at
mx.core::UIComponent/validateDisplayList()[C:\dev\flex_201_borneo\sdk\fr
ameworks;mx\core;UIComponent.as:5823]
at
mx.managers::LayoutManager/mx.managers:LayoutManager::validateDisplayLis
t()[C:\dev\flex_201_borneo\sdk\frameworks;mx\managers;LayoutManager.as:6
00]

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