package myas.control
{
{
import mx.controls.DataGrid;
import mx.controls.*;
import flash.display.Shape;
import mx.core.FlexShape;
import flash.display.Graphics;
import flash.display.Sprite;
import mx.rpc.events.AbstractEvent;
import mx.collections.ArrayCollection;
import flash.events.Event;
public class RowDataGrid extends DataGrid
{
private var _rowColorFunction:Function;
public function RowDataGrid()
{
super();
}
public function set rowColorFunction(f:Function):void
{
this._rowColorFunction = f;
}
public function get rowColorFunction():Function
{
return this._rowColorFunction;
}
override protected function drawRowBackground(s:Sprite,rowIndex:int,y:Number, height:Number, color:uint, dataIndex:int):void
{
if(this.rowColorFunction != null ){
if( dataIndex < this.dataProvider.length ){
var item:Object = this.dataProvider.getItemAt(dataIndex);
color = this.rowColorFunction.call(this, item, color);
super.drawRowBackground(s, rowIndex, y, height, color, dataIndex);
}
}
}
}
}
}
mxml:
private function setCustomColor(item:Object, color:uint):uint
{
var i:int=DataBindableBean.acCompareResult.getItemIndex(item);
if(i%2==0)
{
return 0x112473;
}else{
return 0x04328A;
}
return 0x04328A;
}
<control:RowDataGrid fontSize="14" rowColorFunction="setCustomColor" ...