flex中ArrayCollect对象如何排序

系统 1462 0

最近又开始使用flex了,将近大半年的时间没有flexBuilder工具开发了,有点点生疏了,好在写ActionScript比javaScript爽多了,最最关键的是有提示,所以感觉还是非常不错滴~

    这次做的是点菜模块,功能挺简单,就是细节点挺多的。其中菜品类别这一块,有一个需求是编号是允许手工输入,新增菜品时将序号自动写为当前序号最大值+1,保存以后再次打开窗口,菜品类别需要按编号由小到大排序展示。

 第一步:按编号排序的需求

基本步骤:
(1)、创建新的Sort对象
(2)、创建一个或多个SortField对象
(3)、将SortField对象的数组赋值给Sort对象的fields属性
(4)、将Sort对象指定为ArrayCollection的sort属性
(5)、调用ArrayCollection的refresh()方法应用排序

我的这部分代码:

原始的ArrayCollect中的对象:

      [Bindable]public var categroyArray:ArrayCollection = new ArrayCollection(
            [ {label:"热菜", data:'1', cOrder:'1'}, 
              {label:"主食", data:'2', cOrder:'5'},  
              {label:"凉菜", data:'3', cOrder:'9'},
              {label:"甜品", data:'4', cOrder:'4'}
               ]);
    

 

 

 

排序方法:

      private function sortByOrder(categoryArray:ArrayCollection):ArrayCollection{
     if(categoryArray == null || categoryArray.length == 0){
      return null;
}else{
        var sort:Sort = new Sort();
        sort.fields = [new SortField("cOrder")];//如果比较的是数字类型,此处不能写 
// sort.fields = [new SortField("cOrder",true)];
//,这样就会变为字符串比较,当有1,23,9,87这样1位和2位数字时,会只按十位数比较。排序后是
//1 23 87 9这样就不对了
	categoryArray.sort = sort;
	categoryArray.refresh();
	return categoryArray;
     }
 }
    

  效果图:

flex中ArrayCollect对象如何排序

 

 

 

 

 

 

 

flex中ArrayCollect对象如何排序


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论