这是我为实现此目的所做的:
- 创建一个扩展 AdvancedDataGridGroupItemRenderer 的类
- 在新类中覆盖 updateDisplayList 并做你需要做的事情
- 将新类分配给 AdvancedDataGrid 的 groupItemRenderer 属性
这是您的新课程的样子
public class CustomGroupRenderer extends AdvancedDataGridGroupItemRenderer
{
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
var listData:AdvancedDataGridListData = listData as AdvancedDataGridListData;
var advancedDataGrid:AdvancedDataGridDataGrid = listData.owner as AdvancedDataGrid;
var cellBackgroundColor:uint = 0xFF0000;
var g:Graphics = graphics;
g.clear();
if (!advancedDataGrid.isItemSelected(data) && !advancedDataGrid.isItemHighlighted(data))
{
g.beginFill(cellBackgroundColor);
g.drawRect(0, 0, unscaledWidth, unscaledHeight);
g.endFill();
}
}
}
然后将此类分配给 AdvancedDataGrid 的 groupItemRenderer 属性:
<mx:AdvancedDataGrid groupItemRenderer="com.whereever.CustomGroupRenderer"/>
或者,在 ActionScript 中:
myAdvancedDataGrid.groupItemRenderer = new ClassFactory(com.whereever.CustomGroupRenderer);