XPLATFORM 101

- Grid > 정렬


많이 사용하는 방법이죠. 하지만 사용자에게 직관적인 피드백을 주지 않는다면

무척 혼란스럽게 됩니다.


첫번째 예제는 헤더 영역을 더블클릭하면 해당 부분이 정렬되는 형식입니다.

그리드에서 onheaddbclick 이벤트를 사용합니다.


헤더 텍스트에 ↑,↓ 특수문자를 사용해서 정렬 상태를 표시하고

정렬 처리는 데이터셋에서 keystring 속성을 사용합니다.


keystring은 2가지 작업을 할 수 있습니다.

G는 그룹핑이고 S는 정렬이네요. 기본값은 G입니다.


그룹핑은 나중에 다시 다루어야 할 것 같은데

메뉴얼 상에서는 데이터셋내에 논리적 레코드를 생성한다고 합니다.

일단 여기서는 정렬만 다룰 것이니..ㅠㅠ


순서는 JobType, SortType, ColumnID 입니다. 

S:+column1-column2 로 지정했다면 첫 번째 컬럼을 오름차순으로 정렬하고

정렬된 데이터를 기준으로 동일한 데이터에 대해서 두 번째 컬럼에서 내림차순으로 정렬하게 됩니다.


첫번째 예제에서는 하나의 컬럼만 정렬하니깐 선택할때마다 keystring을 덮어써주면 되겠죠.



두번째 예제는 다중 컬럼에 대한 정렬을 지원합니다.

이를 위해서 특정 버튼 클릭시 화면에 보여지는 컬럼 정보를 넘겨서

showModal() 메소드로 정렬할 항목을 선택하게 하고

선택된 정보를 다시 keystring으로 받아서 처리합니다.


이러한 처리는 첫번째 예제에서 헤더 더블클릭에서도 반영해서 사용할 수 있습니다.

우선순위 처리가 좀 애매하긴 하겠지만 순서대로 처리한다고 전제하면 어렵지 않을듯 합니다.


사용자가 특정 설정을 사전에 정의하고 사용하는 경우라면 두번째 예제를 참고할 수 있고

1회성 정보라면 첫번째 예제가 도움이 될 것입니다.

기능이 있다고 무조건 사용하기 보다는 실제 사용자가 어떤 기능을 필요로 하는지 한번 더 생각해보는 것이 필요합니다.



http://cafe.naver.com/xplatform101/178