FlashBuilder4.6を使用してarrayCollectionを並べ替えたい。配列には、2つのプロパティstatusとhelp_idがあります。配列を並べ替えて、すべての「オープン」ステータス、すべての「読み取り」、「オンサイト」、「完了」などを表示したいと思います。これを行う関数を作成しましたが、同じステータスのすべてのアイテムを、help_idプロパティで並べ替えるよりも最初に最も低く最後に並べ替えたいと考えています。
これは、ステータスを並べ替えるための私のコードです。
[Bindable]protected var myHelp:ArrayCollection = new ArrayCollection();
ソート機能:
function sortFunction(a:Object, b:Object, array:Array = null):int
{
var status:Array = ["open", "read", "onsite","complete", "reopen", "closed"];
var aStatus:Number = status.indexOf(a.status);
var bStatus:Number = status.indexOf(b.status);
if(aStatus == -1 || bStatus == -1)
throw new Error("Invalid value for criticality ");
if(aStatus == bStatus)
return 0;
if(aStatus > bStatus)
return 1;
return -1;
}
var sort:Sort = new Sort();
sort.compareFunction = sortFunction;
myHelp.sort = sort;
myHelp.refresh();
どんな助けでも大歓迎です。