WEB开发网
开发学院软件开发Java 使用 Flex3 开发 OLAP 应用 阅读

使用 Flex3 开发 OLAP 应用

 2010-03-31 00:00:00 来源:WEB开发网   
核心提示: 这就需要借助 actionscript 中对 Flex 组件动态构建的功能,我们知道,使用 Flex3 开发 OLAP 应用(7),Flex 的类库和组件都是以面向对象的方式设计的,任何组件都可以看成一个对象,清单 5. 扩展 pieChartprivatefunctioncreatePieCh

这就需要借助 actionscript 中对 Flex 组件动态构建的功能。我们知道,Flex 的类库和组件都是以面向对象的方式设计的,任何组件都可以看成一个对象,其孩子元素以树的方式逐级构建出这个组件的展现。在这里,我们可以将 pieBox 作为一个根元素,并根据传来的 xml 数据,动态地构建相应数量的 panel,而在每个 panel 中,相应添加一个 PieChart。

清单 5. 扩展 pieChart

 private function createPieChart():void { 
  pieBox.removeAllChildren(); 
  var length:int = dim1list.length; 
  for each (var s:String in dim2list) { 
    var pieChartPanel:Panel = new Panel(); 
   
    var localXML:XMLList = chartXML.item.(dim2==s); 
    // 与清单 1 在 mxml 中设置默认的 columnChartcreate 不同,此处是在 actionscript 中 
    // 以面向对象的编程方式创建 pieChart,但他们的效果是一样的 
    var pieChart:PieChart = new PieChart(); 
    pieChart.showDataTips = true; 
    // 创建饼图对应的 series 
    var localSeries:PieSeries = new PieSeries(); 
   localSeries.dataProvider = localXML; 
   localSeries.field = "measure"; 
   localSeries.nameField = "dim1"; 
    localSeries.displayName = s; 
   
    pieChart.series.push(localSeries); 
   
    pieChartPanel.title = s; 
    // 为了此处扩展需要,将一个 pieChart 置于一个 pieChartPanel 中 
    pieChartPanel.addChild(pieChart); 
    // 每次遍历将创建完的 pieChart 置于 pieBox 中 
    pieBox.addChild(pieChartPanel); 
  } 
 
  var piePanel:Panel = new Panel(); 
  piePanel.horizontalScrollPolicy = "off"; 
  piePanel.title = chartXML.dim1label; 
 
  // legend 是图 3 右边的指示板 
  var pieLegendBox:Box = new Box(); 
  pieLegendBox.horizontalScrollPolicy = "off"; 
  pieLegendBox.maxHeight = 250; 
  var pieLegend:Legend = new Legend(); 
  pieLegend.dataProvider = pieChart; 
 
  pieLegendBox.addChild(pieLegend); 
  piePanel.addChild(pieLegendBox); 
  pieBox.addChild(piePanel); 
 } 

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:使用 Flex 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接