private function onFieldValuesRereivalsuccess(obj:Object):void{ mqbMessage = "Values has been retreived." CursorManager.removeBusyCursor(); var fset:FeatureSet = obj as FeatureSet; mqbMessage = ""; // mFldValues = fset.features; mFldValues2 = fset.features; var fldname:String = fieldsLst.selectedItem.Name var contains:Boolean; mFldValues = new Array(); for ( var i:Number = 0; i<mFldValues2.length; i++ ) { contains = false; for ( var j:Number = 0; j<mFldValues.length; j++ ) { var item1:String = mFldValues2.attributes[fieldsLst.selectedItem.Name]; var item2:String = mFldValues.attributes[fieldsLst.selectedItem.Name]; if (item1 == item2) contains = true; } if (!contains) { mFldValues.push(mFldValues2); } } mFldValues.sort(sortByAttribute); } //COMPARE FUNCTION private function sortByAttribute(a:Object, b:Object):Object { var x:String = a.attributes[fieldsLst.selectedItem.Name].toLowerCase(); var y:String = b.attributes[fieldsLst.selectedItem.Name].toLowerCase(); return ((x < y) ? -1 : ((x > y) ? 1 : 0)); } private function sortNumeric(a:Object, b:Object):int { var value1:Number = a.attributes[fieldsLst.selectedItem.Name]; var value2:Number = b.attributes[fieldsLst.selectedItem.Name]; return ((value1 < value2) ? -1 : ((value1 > value2) ? 1 : 0)); }
public static function sortCollection(arrayColl:ArrayCollection, sortField:String, caseSensistive:Boolean = false, numericSort:Object = null):void { var dataSortField:SortField = new SortField(); var dataSort:Sort = new Sort(); dataSortField.name = sortField; dataSortField.numeric = numericSort; dataSortField.caseInsensitive = caseSensistive; dataSort.fields = [dataSortField]; arrayColl.sort = dataSort; arrayColl.refresh(); }