これを達成するために私がしたことは次のとおりです。
- 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);