4,328
社区成员
发帖
与我相关
我的任务
分享
package com.juaby.bt
{
import flash.display.Sprite;
import mx.controls.DataGrid;
public class CustomerDataGrid extends DataGrid
{
private var _rowColorFunction:Function;
public function CustomerDataGrid()
{
super();
}
public function set rowColorFunction(rowColorFunction:Function):void
{
this._rowColorFunction = rowColorFunction;
}
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);
}
}
}
private function setRowColorFunction(item:Object, color:uint):uint
{
if (item['money'] == "自动") //将column列值为“ ”的行颜色设置为0xbeff8e
{
return 0xbeff8e;
}
return color;
}
<bt:CustomerDataGrid x="24" y="366" width="523" id="dataGrid2" height="141" click="dataGrid2_clickHandler(event)" rowColorFunction="setRowColorFunction">
<bt:columns>
<mx:DataGridColumn headerText="流水号" dataField="no"/>
<mx:DataGridColumn headerText="金额" dataField="money"/>
</bt:columns>
</bt:CustomerDataGrid>