更改系列名称和数据提供者时,条形图系列不显示数据?

时间:2012-05-14 12:45:21

标签: actionscript-3 data-binding mxml dataprovider arraycollection

我创建条形图如下:                                                                                                                                               {} axisStroke                     {} axisStroke                     {} axisStroke                              

        <!-- horizontal axis -->
        <mx:horizontalAxis>
            <mx:LinearAxis id="ac" baseAtZero="true"/>
        </mx:horizontalAxis>
        <!-- horizontal axis renderer -->
        <mx:horizontalAxisRenderers>
            <mx:AxisRenderer axis="{ac}" 
                             canDropLabels="true" 
                             styleName="wsViewAxisLabel"
                             minorTickPlacement="none" 
                             tickPlacement="none" 
                             labelGap="0" 
                             showLabels="false" 
                             showLine="false">
                <mx:axisStroke>{axisStroke}</mx:axisStroke>
                <mx:tickStroke>{axisStroke}</mx:tickStroke>
                <mx:minorTickStroke>{axisStroke}</mx:minorTickStroke>
            </mx:AxisRenderer>
        </mx:horizontalAxisRenderers>
        <mx:series>
            <mx:BarSeries id="barSeries" color="#FFFFFF" labelAlign="right"
                          displayName="{seriesName}"
                          filters="{[new DropShadowFilter(2,45,0,.3)]}" fontSize="11"
                          fontWeight="bold" labelField="{valueName}"
                          xField="{seriesName}"
                          showDataEffect="{interpolateIn}"
                          yField="{categoryName}">
                <mx:fill>
                    <mx:LinearGradient id="linearGradient">
                        <mx:entries>
                            <fx:Array>
                                <mx:GradientEntry color="0x99ffcc"
                                                  ratio="0.0"
                                                  alpha="0.1" />
                                <mx:GradientEntry color="0x99ffcc"
                                                  ratio="1.0"
                                                  alpha="1.0"/>
                            </fx:Array>
                        </mx:entries>
                    </mx:LinearGradient>
                </mx:fill>
            </mx:BarSeries>
        </mx:series>
        <mx:annotationElements>
            <mx:CartesianDataCanvas id="mCanvas"/>
        </mx:annotationElements>
    </mx:BarChart>

但是当我更改系列名称和数据收集时。条形图没有显示数据。

我尝试调试代码并发现bareries的项长度为0.它的数据提供者和系列名称,xfield,yfield是正确的。不知道为什么bareries没有创建bareriesitems。

非常感谢你的帮助。

感谢

1 个答案:

答案 0 :(得分:0)

dataProvider绑定到原始名称,因此需要更新ID的dataProvider分配。 dataProviderArrayCollection绑定,因此ArrayCollection的{​​{1}}分配也需要更新。

<强>参考