2015. 3. 24. 17:02

[Starling/FeathersUI] ListCollection 정렬

ListCollection은 Feathers UI 의 List 컴포넌트에서 DataProvider 로 사용하는데


정렬기능을 지원해주지 않아 번거로운 점이 있다.


소스를 뜯어보니 실제 데이타는 Object 형태로 저장이 되지만 받아 들이는 데이타 형태는 아래와 같이 6가지 형태이다.


Array

Vector.<Number>

Vector.<int>

Vector.<uint>

Vector.<*>

XMLList


정렬기능을 사용하기 위해 정렬함수를 제공해주는 Array 방식으로 값을 할당한다.

하나의 아이템 값으로 Object 를 할당하는 경우에는 거의 대부분 Array 방식으로 처리가 된다.

var list:ListCollection = new ListCollection([

  {....},

  {....}

]);


list.addItem({....});

list.push({....});


그럼 간단하게 아래처럼 하면 일반 Array 를 사용하는 것 처럼 sortOn 메소드를 이용해서 ListCollection을 정렬할 수 있다.

(list.data as Array).sortOn("Object속성이름");

(list.data as Array).sortOn("Object속성이름", Array.NUMERIC | Array.DESCENDING); //숫자타입으로 desc 정렬