快速业务通道

按条件显示Flash中的List组件各行样式

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-07

  Flash的List组件不像Flex有alternatingItemColors可以直接设置隔行颜色...如果需要达到这样的效果..我们可以对CellRenderer进行自定义..以达到相应的效果.. 01.package
02.{
03.importfl.controls.listClasses.CellRenderer;
04.importfl.controls.listClasses.ICellRenderer;
05.importfl.controls.listClasses.ListData;
06.importflash.display.Shape;
07.publicclassMyCellRendererextendsCellRendererimplementsICellRenderer
08.{
09.privatevarm:Shape=newShape();
10.publicfunctionMyCellRenderer()
11.{
12.addChildAt(m,0);
13.}
14.overridepublicfunctionsetlistData(value:ListData):void
15.{
16.super.listData=value;
17.m.graphics.beginFill(0xeeeeee,value.index%2);
18.m.graphics.drawRect(1,1,width-2,height-2);
19.m.graphics.endFill();
20.}
21.}
22.} 上面的自定义MyCellRenderer类中..重写了set listData的方法..listData即为该CellRenderer的数据源...当中有一个index的属性..我们可以根据这个属性来在达到隔行显示的效果...使用上面的CellRenderer效果如下: 另外.我们还可以针对数据值进行处理...以以下数据源为例 1.vardataArr:Array=[
2.{id:1,label:"L4cd.Net",count:999},
3.{id:2,label:"中国",count:100},
4.{id:3,label:"英国",count:90},
5.{id:2,label:"美国",count:80},
6.{id:3,label:"德国",count:70},
7.{id:2,label:"日本",count:60}] 我们希望count少于90的文本显示为红色,可以重写set data函数.. 01.package
02.{
03.importfl.controls.listClasses.CellRenderer;
04.importfl.controls.listClasses.ICellRenderer;
05.importflash.text.TextFormat;
06.publicclassMyCellRendererextendsCellRendererimplementsICellRenderer
07.{
08.overridepublicfunctionsetdata(value:Object):void
09.{
10.super.data=value;
11.setStyle("textFormat",newTextFormat("宋体",12,data.count<90?0xFF0000:0));
12.}
13.}
14.} 效果如下: 关键词:组件 条件

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号