I have figured out the following solution:

"
MyDataGrid.as" extends the mx.controls.DataGrid and add the "placeSortArrow" methods, so you can catch and color the "sortArrow":

MyDataGrid.as:
- - - - - - - - - - - - - - -

import mx.controls.DataGrid;

class 
MyDataGrid extends DataGrid
{
    var 
sortArrowColorNumber;
    
    function 
MyDataGrid(){}
    
    private function 
placeSortArrow(Void) : Void
    
{
        
super.placeSortArrow();
        
coloredArrow(this.sortArrow);
    }
    
    private function 
coloredArrow(arrowMovieClip): Void
    
{
                var 
my_color:Color = new Color(arrow);
            
my_color.setRGB(sortArrowColor);
    }
}


DataGridExample.mxml:
- - - - - - - - - - - - - - - - - - -

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml"
                xmlns="*">
    <mx:Script>
    <![CDATA[
    
      // fake data only
        private function fakeData() : Array
        {
            var myData: Array = new Array();
            for(var i:Number = 0; i < 100; i++)
            {
                var data: Object = { colum1:'A' + i, colum2:'B'  + i };
                myData.push(data);
            }
            return myData;
        }            
        
        ]]>
    </mx:Script>

        <MyDataGrid id="dg" sortArrowColor="#DD00CC" dataProvider="{ fakeData() }" />

</mx:Application>


Best
sectore
__
www.websector.de 



--- In flexcoders@yahoogroups.com, "websectorde" <[EMAIL PROTECTED]> wrote:
>
> How can I change the color of DataGrids sortArrow? I tried it over the
> headerRelease event, but I can't hold the new color value... Has anybody
> a solution?
>
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml">
>
> <mx:Script>
> <![CDATA[
> private function fakeData() : Array
> {
> var myData: Array = new Array();
> for(var i:Number = 0; i < 100; i++)
> {
> var data: Object = { colum1:'A' + i, colum2:'B' + i };
> myData.push(data);
> }
> return myData;
> }
>
> private function styleSortArrow(event) : Void
> {
> var arrow: MovieClip = event.target.sortArrow;
> var my_color:Color = new Color(arrow);
> my_color.setRGB(0xFFFFFF);
> }
>
> ]]>
> </mx:Script>
>
> <mx:DataGrid id="dg" headerColors="[#7C96A1, #43616E]"
> headerRelease="styleSortArrow(event)">
> <mx:dataProvider>
> { fakeData() }
> </mx:dataProvider>
> </mx:DataGrid>
> </mx:Application>
>
> Thanks,
> sectore
>
__._,_.___

--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com





YAHOO! GROUPS LINKS




__,_._,___

Reply via email to