本页面由 Flash 保存计划 从 Internet Archive 存档还原 · 原址 http://www2.flash8.net/teach/8452.htm ← Flash 保存计划

动态改变Flex Chart的类型

作者:Flying   类型:原创   来源:RIA爱好者

  

下面的实例用getDefinitionByName()方法动态改变了Flex Chart的类型。

点击此处查看该实例最终效果,点击此处下载该实例的源码。

本实例只涉及CartesianChart(笛卡尔图表),改变图表类型的本质就上改变其Series(数据数列)类型。因此我们直接扩展了各种笛卡尔数据数列,然后getDefinitionByName()动态实例化数据数列类,核心代码在seriesType的set访问器中。

public function set seriesType(value:String):void
{
    _seriesType = value;
    var seriesArr:Array = this.series;
    var ClassReference:Class = getDefinitionByName("components.chart.series." + _seriesType) as Class;
    var s:Series = new ClassReference();
    seriesArr[0] = s;
    this.series = seriesArr;
}

另外,我们还为seriesType使用了Inspectable元数据标签:

[Inspectable(category="General", enumeration="Line,Mountain,Candlestick,HLOC", defaultValue="Mountain")]

该元数据标签会在Flash Builder中生成seriesType属性列表,以供开发人员选择使用。

在线投稿和咨询,联系闪吧编辑    责任编辑:silvia    时间:2010年10月25日
  • 最近更新