Here is what I did for this:
- Create a class extending AdvancedDataGridGroupItemRenderer
- In the new class, override updateDisplayList and do what you need to do
- Assign a new class to the groupItemRenderer property in AdvancedDataGrid
Here your new class might look like
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(); } } }
And then set the classItemRenderer property for AdvancedDataGrid to this class:
<mx:AdvancedDataGrid groupItemRenderer="com.whereever.CustomGroupRenderer"/>
Or, in ActionScript:
myAdvancedDataGrid.groupItemRenderer = new ClassFactory(com.whereever.CustomGroupRenderer);
source share