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>

谢谢指点...
...全文
382 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
看书吧。。

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧