最近又開始使用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; } }
? 效果圖:
?
?
?
?
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
