flex动态循环读取数据显示多柱

zings 2010-10-11 03:09:54
我想用flex实现动态显示多柱:
<mx:ColumnSeries id="ColumnSeries1" fills="#111111" yField="Y1" creationCompleteEffect="{myWipUp}" labelPosition="outside" />
<mx:ColumnSeries id="ColumnSeries2" fills="#122222" yField="Y2" creationCompleteEffect="{myWipUp}" labelPosition="outside" />
<mx:ColumnSeries id="ColumnSeries3" fills="#133333" yField="Y3" creationCompleteEffect="{myWipUp}" labelPosition="outside" />
......
由于柱的数目不确定 要根据传过来的参数进行设置 颜色fills 字段yField等

有没有像jsp中的c标签的功能实现类似的东西
如<c:foreach ><tr><td></td></tr></c:foreach>

谢谢指点...
...全文
320 11 点赞 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Shiva 2011-05-16
有这么一段:
for(var i:int=0; i < leng; i++)
{
var columnSeries:ColumnSeries=new ColumnSeries();
columnSeries.xField="@label";
columnSeries.yField="@data"+(i+1);
columnSeries.displayName= legendTitle.split(",")[i];
columnSeries.maxColumnWidth=_maxWidth;
if(null!=columColorArrayStr && columColorArrayStr.length>0)
{
columnSeries.fillFunction=myFillFunction;
}
series.push(columnSeries);
}
columnChart.series = series;

public function myFillFunction(item:ChartItem, index:Number):IFill {
var curItem:ColumnSeriesItem = ColumnSeriesItem(item);
var col:String=ColumnSeries(curItem.element).yField;
var clor:Number=Number(colorMap.gets(col));
var myuint:uint = clor;
return(new SolidColor(myuint, .75));
}
  • 打赏
  • 举报
回复
Shiva 2011-05-16
大哥,我也是这样做的,但是Legend不显示了
  • 打赏
  • 举报
回复
zings 2010-10-13
[Quote=引用 8 楼 yjflinchong 的回复:]
用xml呀。 他会根据的数据的多少来生成
[/Quote]
我就是想动态的实现显示多柱,已经在外面生成了json(xml也差不多,最开始我用xml),现在是把json的数据中显示有几个柱子 在as中动态的表示出来....
  • 打赏
  • 举报
回复
yjflinchong 2010-10-12
用xml呀。 他会根据的数据的多少来生成
  • 打赏
  • 举报
回复
zings 2010-10-12
还是用上面的方法 只不过
columnSeries.setStyle("fill",color[i]);
填充颜色用数组表示了。。。算基本解决..
  • 打赏
  • 举报
回复
zings 2010-10-11
       	var arr:Array = (JSON.decode(str) as Array);
source = new ArrayCollection(arr);
column.dataProvider = source;
var seriesArr:Array = new Array();
for(var i:int=0;i<count;i++){
var columnSeries:ColumnSeries = new ColumnSeries();
columnSeries.xField = "X";
columnSeries.yField = "Y"+(i+1);//arr[i];
//setStyle("fills","color"+(i+1));
var colors :String = "color"+(i+1);
//Alert.show(source.getItemAt(i).colors);
//for (var j:int=0;j<count;j++){
//source.getItemAt(i).colors;
columnSeries.setStyle("fill",source.getItemAt(i).colors);

//}
//columnSeries.creationCompleteEffect = myWipUp;
//columnSeries.displayName = arr[i];
seriesArr.push(columnSeries);
}
if(column){
column.series = seriesArr;
}


还没有完全解决。。。基本的差不多了...
  • 打赏
  • 举报
回复
zings 2010-10-11
汗 。。。我是说flex中的这个功能 java的这个标签我会。。。我表达的这么困难么??
  • 打赏
  • 举报
回复
hbu_zhy 2010-10-11
确实有这么个标签<c:forEach item="" obj="{el}">
搜下 这个标签基本就可以解决 。
  • 打赏
  • 举报
回复
andesen 2010-10-11
来了,没学过flex。。
  • 打赏
  • 举报
回复
zings 2010-10-11
[Quote=引用 1 楼 bearkin 的回复:]
看书吧。。
[/Quote]
汗。。。
  • 打赏
  • 举报
回复
BearKin 2010-10-11
看书吧。。
  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-11 03:09
社区公告
暂无公告