我想按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();
}
不确定数值是否正确,否则其他所有内容均正确。