· 在线留言 · 关于我们
全国7X24小时服务热线:
029-8831-1253
 
当前位置:首页>信息化频道>行业信息化

行业信息化

条件显示Flash中的List组件各行样式
西安软件公司, 西安软件开发 http://www.jzsoftit.com , 西安网站建设, 西安网站制作 http://www.jzsoftit.cn


Flash的List组件不像Flex有alternatingItemColors可以直接设置隔行颜色...如果需要达到这样的效果..我们可以对CellRenderer进行自定义..以达到相应的效果..
01.package 
02.{ 
03.    import fl.controls.listClasses.CellRenderer; 
04.    import fl.controls.listClasses.ICellRenderer; 
05.    import fl.controls.listClasses.ListData; 
06.    import flash.display.Shape; 
07.    public class MyCellRenderer extends CellRenderer implements ICellRenderer 
08.    { 
09.        private var m:Shape = new Shape(); 
10.        public function MyCellRenderer() 
11.        { 
12.            addChildAt(m,0); 
13.        } 
14.        override public function set listData(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.var dataArr: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.    import fl.controls.listClasses.CellRenderer; 
04.    import fl.controls.listClasses.ICellRenderer; 
05.    import flash.text.TextFormat; 
06.    public class MyCellRenderer extends CellRenderer implements ICellRenderer 
07.    { 
08.        override public function set data(value:Object):void
09.        { 
10.            super.data = value; 
11.            setStyle("textFormat",new TextFormat("宋体",12,data.count<90?0xFF0000:0)); 
12.        } 
13.    } 
14.}
 

关于我们  | 果蔬质量追溯系统  | 网站建设  | 网站推广  | 网站运营  | 软件开发  | 软硬件集成  | 软件选型  | 软件外包  | 系统托管  | 成功案例   | IT硬件  | 常见问题  | 在线留言  |  联系方式
  © 2005 www.jzsoftit.com  西安捷众软件科技有限公司 版权所有
地址:西安市高新区科技路东口中天国际B座19层 电话:029-88311253   QQ:1009213309  Email:jzsoftit@163.com