Search This Blog


Sort Array Collection in Adobe Flex

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="" layout="vertical" verticalAlign="middle" backgroundColor="white" creationComplete="init()">

import mx.collections.SortField;
import mx.collections.Sort;
import mx.collections.ArrayCollection;

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++) {

/** 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(); = "data";
dataSortField.numeric = true;
/*dataSortField.descending = true;To Sort descending order*/

/* 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;

<mx:List id="list" dataProvider="{arrColl}" textAlign="right" labelField="data" width="100" />

<mx:Button id="button" label="sort items" click="button_click()" />


No comments: