Never mind i figured out the answer...i extend the
AdvancedDataGridHeaderRenderer
public class MyAdvancedDataGridHeaderRenderer extends
AdvancedDataGridHeaderRenderer{
[Embed(source="common/assets/icon_filter_16.jpg")]
[Bindable]private var icon_filter_16:Class;
protected var filterButton:Button;
public function MyAdvancedDataGridHeaderRenderer(){
super();
}
/**
* @protected
*/
override protected function createChildren():void {
super.createChildren();
if (!filterButton){
filterButton = new Button();
filterButton.setStyle
("borderThickness",0);
filterButton.setStyle("icon",
icon_filter_16);
filterButton.setActualSize(16, 16);
filterButton.mouseFocusEnabled =
false;
filterButton.styleName = this;
filterButton.useHandCursor = true;
filterButton.buttonMode = true;
filterButton.mouseChildren = false;
filterButton.addEventListener
(MouseEvent.CLICK,
function(e:MouseEvent):void{
trace('filterButton
clicked');
e.stopPropagation();
});
addChild(filterButton);
}
}
/**
* @protected
*/
override protected function commitProperties():void {
super.commitProperties();
filterButton.toolTip = "Filter "+(data as
AdvancedDataGridColumn).headerText;
}
/**
* @protected
*/
override protected function measure():void {
super.measure();
measuredWidth = measuredWidth + getStyle
("horizontalGap") + filterButton.getExplicitOrMeasuredWidth();
}
/**
* @protected
*/
override protected function updateDisplayList
(unscaledWidth:Number, unscaledHeight:Number):void{
super.updateDisplayList(unscaledWidth,
unscaledHeight);
filterButton.x = 2;
filterButton.y = 2;
}
}
--- In [email protected], "Vijay Anand Mareddy" <[EMAIL PROTECTED]>
wrote:
>
> The following sample code has a simple Label as HeaderRenderer.
> 1. The background sort icon on AdvDataGridColumn is gone.
> 2. Default Column Sorting is lost (when sortExpertMode=false)
> Any help on how to retain the above functionailty and yet use
> my own HeaderRenderer?
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
> layout="vertical">
> <mx:Label text="AdvancedDataGrid" fontWeight="bold"/>
> <mx:CheckBox label="sortExpertMode" id="sortExpertMode"
> selected="false"/>
> <mx:AdvancedDataGrid id="advancedDataGrid"
> sortExpertMode="{sortExpertMode.selected}" >
> <mx:dataProvider>
> <mx:Array>
> <mx:Object food='Apple' type='Fruit'/>
> <mx:Object food='Pear' type='Fruit'/>
> <mx:Object food='Banana' type='Fruit'/>
> <mx:Object food='Chicken' type='Meat'/>
> <mx:Object food='Beef' type='Meat'/>
> <mx:Object food='Milk' type='Dairy'/>
> </mx:Array>
> </mx:dataProvider>
> <mx:columns>
> <mx:AdvancedDataGridColumn width="150"
dataField="food"
> sortable="true"
> headerRenderer="mx.controls.Label"/>
> <mx:AdvancedDataGridColumn dataField="type"/>
> </mx:columns>
> </mx:AdvancedDataGrid>
> <mx:Label text="DataGrid" fontWeight="bold"/>
> <mx:DataGrid id="myGrid">
> <mx:dataProvider>
> <mx:Array>
> <mx:Object food='Apple' type='Fruit'/>
> <mx:Object food='Pear' type='Fruit'/>
> <mx:Object food='Banana' type='Fruit'/>
> <mx:Object food='Chicken' type='Meat'/>
> <mx:Object food='Beef' type='Meat'/>
> <mx:Object food='Milk' type='Dairy'/>
> </mx:Array>
> </mx:dataProvider>
> <mx:columns>
> <mx:DataGridColumn width="150" dataField="food"
> headerRenderer="mx.controls.Label"/>
> <mx:DataGridColumn dataField="type"/>
> </mx:columns>
> </mx:DataGrid>
> </mx:Application>
>