var ac:ArrayCollection = new ArrayCollection();
//先加入几条测试数据
ac.addItem(
???? {ID:0,userName:AAA},
???? {ID:1,userName:CCC},
???? {ID:2,userName:BBB}
);
//定义Sort对象
var sort:Sort = new Sort();
//默认是按照升序排序的
sort.fields = [new SortField("userName")];
//如果按照降序排序,需要修改一下
//sort.fields = [new SortField("userName",true,true)];
//如果先降序(ID)后升序(userName),就这样写,以此类推
//sort.fields = [new SortField("userID",true,true),new SortField("userName")];
//把sort对象指定给ac
ac.sort = sort;
//执行刷新操作,否则不变
ac.refresh();
?
?
2、另外一个
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="white" creationComplete="init()"> <mx:Script> <![CDATA[ import mx.collections.SortField; import mx.collections.Sort; import mx.collections.ArrayCollection; [Bindable] private var arrColl:ArrayCollection; /** This method gets called by the main mx:Application tag and initializes/populates the ArrayCollection object with a bunch of random numbers. */ private function init():void { var i:int; /* Initialize and populate the ArrayCollection object. */ arrColl = new ArrayCollection(); for (i = 0; i < 20; i++) { arrColl.addItem({data:getRandomNumber().toFixed(4)}); } } /** This method returns a random floating-point number between 0 and 10000. */ private function getRandomNumber():Number { return Math.random() * 10000; } /** This method gets called by the Button control's click handler and creates a new SortField and Sort object which are used to sort the ArrayCollection. */ private function button_click():void { /* Create the SortField object for the "data" field in the ArrayCollection object, and make sure we do a numeric sort. */ var dataSortField:SortField = new SortField(); dataSortField.name = "data"; dataSortField.numeric = true; /* Create the Sort object and add the SortField object created earlier to the array of fields to sort on. */ var numericDataSort:Sort = new Sort(); numericDataSort.fields = [dataSortField]; /* Set the ArrayCollection object's sort property to our custom sort, and refresh the ArrayCollection. */ arrColl.sort = numericDataSort; arrColl.refresh(); } ]]> </mx:Script> <mx:List id="list" dataProvider="{arrColl}" textAlign="right" labelField="data" width="100" /> <mx:Button id="button" label="sort items" click="button_click()" /> </mx:Application>
?