Flex中利用SortField和Sort类对ArrayCollection进行排序的例子

<?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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值