我想按fieldName升序对Arraycollection进行排序。这是我的代码,我想知道是否正确。你有什么建议吗?

public static function arrayCollectionSort(ar:ArrayCollection, fieldName:String, isNumeric:Boolean):void
    {var dataSortField:SortField = new SortField();
        dataSortField.name = fieldName;
        dataSortField.numeric = isNumeric;
        var numericDataSort:Sort = new Sort();
        numericDataSort.fields = [dataSortField];
        arrCol.sort = numericDataSort;
        arrCol.refresh();}

最佳答案

您所拥有的代码是正确的,但类型除外。 arrCol应该是ar。该代码看起来几乎与博客Flex Examples上的代码完全相同,这也是正确的。

只是更改是将arrCol更改为ar,如下所示:

public static function arrayCollectionSort(ar:ArrayCollection, fieldName:String, isNumeric:Boolean):void
{
    var dataSortField:SortField = new SortField();
    dataSortField.name = fieldName;
    dataSortField.numeric = isNumeric;
    var numericDataSort:Sort = new Sort();
    numericDataSort.fields = [dataSortField];
    ar.sort = numericDataSort;
    ar.refresh();
}

不确定数值是否正确,否则其他所有内容均正确。

10-04 18:09