使用 Flash Builder 4.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();
任何帮助将非常感激。