Just got an interesting question from a customer :

"It is a way to show a filter image() in my Datagrid header when a filter is applied"?

This is actually possible if you use a custom header renderer. Basically, the idea is that when the grid renders, it calls the set data method on each renderer, including header renderers. Armed with this knowledge, it is easy to accomplis this. 

Lets take a look at the markup required to do this

<?xml version="1.0" encoding="utf-8"?>

<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300" xmlns:grids="com.flexicious.grids.*" xmlns:columns="com.flexicious.grids.columns.*">

      

       <grids:ExtendedAdvancedDataGrid dataProvider="{Font.enumerateFonts(true)}" enableFilters="true"
filterPageSortChange="grid.invalidateList()"

id="grid">
              <grids:columns>
                     <columns:ExtendedAdvancedDataGridColumn dataField="fontName" filterControl="TextInput">
                           <columns:headerRenderer>
                                  <fx:Component>
                                         <mx:HBox verticalScrollPolicy="off" horizontalScrollPolicy="off">
                                                <fx:Script>
                                                       <![CDATA[                                                            

                                                              import mx.controls.advancedDataGridClasses.AdvancedDataGridListData;                                                             

                                                              [Bindable]
                                                              [Embed(source="/../assets/images/16x16/filterShowHide.png")]
                                                              private var previous:Class;

                                                             

                                                              [Bindable]
                                                              [Embed(source="/../assets/images/16x16/filterShowHideInverted.png")]
                                                              private var next:Class;

                                                              public override function set data(val:Object):void{
                                                                     super.data=val;
                                                                     img.source=outerDocument.grid.getFilterValue('fontName')?previous:next;
                                                             }
                                                       ]]>
                                                </fx:Script>
                                                <mx:Label text="Font Name"/>
                                                <mx:Image id="img" />
                                         </mx:HBox>
                                  </fx:Component>
                           </columns:headerRenderer>
                     </columns:ExtendedAdvancedDataGridColumn>
                     <columns:ExtendedAdvancedDataGridColumn dataField="fontType" filterControl="TextInput"/>             
              </grids:columns>
       </grids:ExtendedAdvancedDataGrid>
</s:Group>

HeaderWithFilterImage.mxml (1.71 kb)