Это поможет немного упростить ваш код:
private function genericSort(obj1:Object, obj2:Object,column:String):int{
var value1:Number=(obj1[column]==''||obj1[column]==null)?null:new Number(obj1[column]);
var value2:Number=(obj2[column]==''||obj2[column]==null)?null:new Number(obj2[column]);
return ObjectUtil.numericCompare(value1, value2);
}
private function sort1(obj1:Object, obj2:Object):int{
return genericSort(obj1, obj2, 'zip');
}
private function sort2(obj1:Object, obj2:Object):int{
return genericSort(obj1, obj2, 'someNumbers');
}
private function sort3(obj1:Object, obj2:Object):int{
return genericSort(obj1, obj2, 'moreNumbers');
}
И это подход, который я использовал в прошлом. К сожалению, в sortCompareFunction нет способа получить доступ к столбцу, по которому щелкают, чтобы получить свойство dataField.