<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" viewSourceURL="srcview/index.html">
    <mx:Script>
        <![CDATA[
            import mx.collections.XMLListCollection;
            import mx.collections.Sort;
            import mx.collections.SortField;
            import mx.collections.ArrayCollection;
            
            [Bindable] 
            public var myDB : XMLListCollection = new XMLListCollection(); 
            
            [Bindable]
            public var myXML : XML = <users>
                            <user firstName="Jeffry" lastName = "Houser" />
                            <user firstName="Jeffry" lastName = "Celeste" />
                            <user firstName="Jeffry" lastName = "Maner" />
                            <user firstName="James" lastName = "Wabble" />
                            <user firstName="Jeremy" lastName = "Winstead" />
                            <user firstName="Justin" lastName = "Case" />
                            <user firstName="Castle" lastName = "Craig" />
                            <user firstName="TK" lastName = "Houser" />
                        </users>;

            override protected function commitProperties():void{
                super.commitProperties();
                myDB.source = myXML.user;
            }


            public function sortByLastFirst():void{
                var sort:Sort = new Sort();
                sort.fields=[new SortField("@lastName"),new SortField("@firstName")];
                this.myDB.sort = sort;
                this.myDB.refresh();
            }

            public function sortByFirstLast():void{
                var sort:Sort = new Sort();
                sort.fields=[new SortField("@firstName"),new SortField("@lastName")];
                this.myDB.sort = sort;
                this.myDB.refresh();
            }
            
        ]]>
    </mx:Script>
    
    <mx:VBox>
        <mx:Button click="sortByLastFirst()" label="Sort By Last Name, First Name"    />    
        <mx:Button click="sortByFirstLast()" label="Sort By First Name, Last Name" />        
        <mx:DataGrid dataProvider="{myDB}" sortableColumns="false" >
            <mx:columns>
                <mx:DataGridColumn dataField="@firstName" />
                <mx:DataGridColumn dataField="@lastName" />
            </mx:columns>
        </mx:DataGrid>
    </mx:VBox>
    
</mx:Application>