원인을 보자면, 숫자가 String 으로 되어있어, 원하는 형태의소트가 안되는거다.
1, 3, 5, 7, 11, 15, 21 이렇게 있다고 치면,
1, 11, 15, 21, 3, 5, 7 이렇게 결과가 나온다.
간단히 Function으로 해결할수 있는데,
/**
* 정렬시 숫자 비교 함수
*
* @param obj1, obj2
*/
private function sortNumeric(obj1:Object, obj2:Object):int
{
var value1:Number = (obj1.no == '' || obj1.no == null) ? null : new Number(obj1.no);
var value2:Number = (obj2.no == '' || obj2.no == null) ? null : new Number(obj2.no);
if( value1 < value2 ) return -1;
else if (value1 > value2) return 1;
else return 0;
}
<mx:DataGridColumn dataField="no" headerText="NO" sortCompareFunction="sortNumeric"/>
간단하다 ㅎㅎ
'ria > flex' 카테고리의 다른 글
| AdvancedDataGrid Sort Icon 안보이기 (0) | 2009/06/02 |
|---|---|
| Flex 에서 SecureAMF / HTTPS 사용하기 (0) | 2009/04/13 |
| [Flex] DataGrid Number Sort (3) | 2009/03/25 |
| [강좌] Flex/AIR Bible 책의 강좌 [윤훈남의 플렉스] (0) | 2009/01/05 |
| [Flex] Array에서 아이템 삭제하기 팁! delete (3) | 2008/11/11 |
| [FLEX] ANT로 ASDOC 사용하기 (5) | 2008/11/05 |
TRACKBACK http://thlife.net/trackback/852
-
[Flex] DataGrid과 DataGridColumn 삭제
2009/06/23 12:27TRACKBACK FROM 영원의 헤아림DataGrid는 다음과 같이 간편하게 표형식의 데이터를 화면에 출력할 수 있습니다. <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12" creationComplete="{init()}" backgroundGradientAlphas="[1.0, 1.0]" background..


이올린에 북마크하기
이올린에 추천하기

댓글을 달아 주세요
흠...저는 왜 정렬이 안될까요...ㅠㅠ
2009/10/16 18:11 [ ADDR : EDIT/ DEL : REPLY ]리턴으로 1과-1을 리턴하는건 그냥 수를 써넣기 위함인가요??
비교할 데이터필드를 넣어주는거군요..근데 여전히 1과-1과 0은 먼지 잘...
2009/10/16 18:16 [ ADDR : EDIT/ DEL : REPLY ]순서를 나타내는건가요??1이면 바꾸고 -1이면 머하구 이런건가..흠.
1, -1 이건 단지 크기를 비교하기위한 것입니다.
2009/10/24 08:20 [ ADDR : EDIT/ DEL : REPLY ]obj1, obj2 중 왼쪽 값이 크면, 1, 오른쪽이 크면 -1, 같으면 0
API에서는
0 is both numbers are NaN. 1 if only a is a NaN. -1 if only b is a NaN. -1 if a is less than b. 1 if a is greater than b.
이렇게 설명하고 있습니다.
저 함수는 ObjectUtil.numericCompare()를 찾아보시면, 쉽게 이해 되실것 같네요.
참고>
http://livedocs.adobe.com/flex/3/langref/mx/utils/ObjectUtil.html#numericCompare%28%29