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 flexcoders@yahoogroups.com, "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>
>


Reply via email to