<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
backgroundColor="white"
creationComplete="init()">
<fx: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();
}
]]>
</fx:Script>
<mx:List id="list"
dataProvider="{arrColl}"
textAlign="right"
labelField="data"
width="300"/>
<mx:Button id="button"
x = "200" y="400"
label="sort items"
click="button_click()"/>
</s:Application>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
backgroundColor="white"
creationComplete="init()">
<fx: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();
}
]]>
</fx:Script>
<mx:List id="list"
dataProvider="{arrColl}"
textAlign="right"
labelField="data"
width="300"/>
<mx:Button id="button"
x = "200" y="400"
label="sort items"
click="button_click()"/>
</s:Application>