<?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>