首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

怎么在Flex的DataGrid中改变行的颜色

2012-10-31 
如何在Flex的DataGrid中改变行的颜色1. 定义一个新的类并将这个类放在src下(默认package):package{import

如何在Flex的DataGrid中改变行的颜色
1. 定义一个新的类并将这个类放在src下(默认package):

package{  import flash.display.Sprite;    import mx.collections.ArrayCollection;  import mx.controls.DataGrid;  public class RowColorDataGrid extends DataGrid  {    public var rowColorFunction:Function;        override protected function drawRowBackground(      s:Sprite, rowIndex:int, y:Number, height:Number,       color:uint, dataIndex:int):void    {      if(rowColorFunction != null)       {        var item:Object;        if(dataIndex < dataProvider.length)        {          item = dataProvider[dataIndex];        }                if(item)        {          color =             rowColorFunction(item, rowIndex, dataIndex, color);        }      }            super.drawRowBackground(        s, rowIndex, y, height, color, dataIndex);    }  }}


2. 在MXML文件中使用这个新组件:
<local:RowColorDataGrid left="col1:20" right="col2:20" top="row2:25" bottom="row2:25" id="filesDG" rowColorFunction="calcRowColor"/>


3. 同时在MXML文件中添加一个函数calcRowColor来定义改变颜色的逻辑:
   private  function calcRowColor(item:Object, rowIndex:int,                                  dataIndex:int, color:uint):uint {   if(rowIndex==0)       return 0xEE2233;   else       return color;   }


热点排行