Flash Builder 4.6을 사용하여 arrayCollection을 정렬하려고합니다. 배열에는 2 개의 속성 상태와 help_id가 있습니다. 배열의 모든 "열기"상태를 "읽기"보다 "온 사이트"보다 "완료"보다 정렬되도록 정렬하고 싶습니다. 이 작업을 수행하는 함수를 만들었지 만 동일한 상태의 모든 항목을 help_id 속성에 의해 가장 먼저 가장 낮은 우선 순위로 정렬하는 것이 좋습니다.compareFunction을 사용하여 ArrayCollection을 정렬합니다.
이것은 상태를 정렬하는 코드입니다.
[Bindable]protected var myHelp:ArrayCollection = new ArrayCollection();
정렬 기능 : 어떤 도움이 많이 주시면 감사하겠습니다
function sortFunction(a:Object, b:Object, array:Array = null):int
{
var status:Array = ["open", "read", "onsite","complete", "reopen", "closed"];
var aStatus:Number = status.indexOf(a.status);
var bStatus:Number = status.indexOf(b.status);
if(aStatus == -1 || bStatus == -1)
throw new Error("Invalid value for criticality ");
if(aStatus == bStatus)
return 0;
if(aStatus > bStatus)
return 1;
return -1;
}
var sort:Sort = new Sort();
sort.compareFunction = sortFunction;
myHelp.sort = sort;
myHelp.refresh();
.
문제가 무엇인지 알려주면; 왜 당신의 접근 방식이 효과가 없었던 지 우리는 당신이 그것을 해결할 수 있도록 더 잘 적응할 수 있습니다. – JeffryHouser
내가 당신에게 보여준 것은 완벽하게 작동합니다. 나는 단지 같은 상태에 두 번째 정렬을하고 싶다. 마치 2 개의 상태가 닫히면 맨 위에 표시 할 help_id가 더 높은 help_id를 갖고 싶습니다. (myHelp arrarCollection에는 myHelp.status (string) 및 myHelp.help_id (int)가 두 번 표시됩니다. – user1535213