import flash.display.Sprite;
import mx.collections.ArrayCollection;
import mx.controls.DataGrid;
public class SQDataGrid extends DataGrid
{
public function SQDataGrid()
{
}
protected override function drawRowBackground(s:Sprite, rowIndex:int, y:Number, height:Number, color:uint, dataIndex:int):void
{
if(dataProvider&&dataIndex < (dataProvider as ArrayCollection).length){
代码判断出可以取dataProvider 的数据来判断要改变什么颜色
var item:Object = (dataProvider as ArrayCollection).getItemAt(dataIndex);
if( item[2] > item[9] ){color=0xFF0000;}
}
super.drawRowBackground(s,rowIndex,y,height,color,dataIndex);
}
}
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white">
<mx:ArrayCollection id="arrColl">
<mx:source>
<mx:Array>
<mx:Object label="Row 1" />
<mx:Object label="Row 2" />
<mx:Object label="Row 3" />
<mx:Object label="Row 4" />
<mx:Object label="Row 5" />
<mx:Object label="Row 6" />
<mx:Object label="Row 7" />
<mx:Object label="Row 8" />
</mx:Array>
</mx:source>
</mx:ArrayCollection>
<mx:List id="list"
alternatingItemColors="[0xEEEEEE, 0xDFDFDF]"
dataProvider="{arrColl}"
rowCount="4"
width="200" />
</mx:Application>