What do you mean sort and compareFunction?
The reason why its empty is because for some reason an error occurs, and my
Intellij doesn't print out the error messages. So its difficult for me to
know exactly what went wrong.
The array is not empty, and the objects are not null.

Shervin


2013/2/27 Tom Chiverton <t...@extravision.com>

> I wouldn't give a Sort and a compareFunction - what's the point ? Just
> have one or the other.
>
> Either way, this wont empty your ArrayCollection. If you dump it out
> before and after
>
> var grunner:ArrayCollection
>
> along with where ever it came from, are your *sure* it isn't being
> populated by an empty array, null object, failed cast etc. ?
>
> Failing that, make a standalone example we can all build.
>
> Tom
>
>
> On 27/02/2013 08:31, Shervin Asgari wrote:
>
>> Hi.
>>
>> I am very very new to Flex.
>> I created this thread for sorting in Java
>> http://stackoverflow.com/q/**15091732/37298<http://stackoverflow.com/q/15091732/37298>
>>
>> However, I am now trying to do the same thing in ActionScript.
>>
>> I have a Bindable ArrayCollection with Objects that looks like this
>>
>> Code.code : F
>> Code.label: Foo
>> Code.description: The Foo description
>>
>> Then I want to sort exactly as specified in the stackoverflow site.
>> I have around 10 of them which I need in a particular order. I have them
>> defined in an array.
>>
>> Based on the stackoverflow question and some googling, I have come up with
>> the following:
>>
>> private function myCompare(a:Object, b:Object, fields:Array = null):int {
>>              if (mostUsed.contains(a.code) && mostUsed.contains(b.code)) {
>>                  return fields.getItemIndex(a) - fields.getItemIndex(b);
>>              }
>>
>>              if (mostUsed.contains(a.code)) {
>>                  return -1;
>>              }
>>
>>              if (mostUsed.contains(b.code)) {
>>                  return 1;
>>              }
>>
>>              var s:Sort = new Sort();
>>              s.fields = fields;
>>              var f:Function = s.compareFunction;
>>              return f.call(null,a,b,fields);
>>          }
>>
>> private var mostUsed:ArrayCollection = new ArrayCollection(["F", "A", "B",
>> "FTR", "HIS", "KEB", "LEG", "MED", "MER", "PEN", "PEO", "PER", "PIN",
>> "PUR", "REF"]);
>>
>> var grunner:ArrayCollection = //getting collection
>> grunner.sort.fields = [new SortField("code")];
>> grunner.sort.compareFunction = myCompare;
>> grunner.refresh();
>>
>> But it doesnt work. Any clues?
>> My collection returns empty.
>>
>> Regards Shervin
>>
>>
>> ______________________________**______________________________**
>> __________
>> This email has been scanned by the Symantec Email Security.cloud service.
>> For more information please visit http://www.symanteccloud.com
>> ______________________________**______________________________**
>> __________
>>
>
>

Reply via email to