XPLATFORM 101

- Grid > Copy & Paste 3


음. 이번 예제는 Copy & Paste 기능보다는 셀 고정 기능이 주 대상이네요.


셀 고정 기능을 추가하기 위해서 각 셀(여기서는 헤더만) 클릭시 컨텍스트 메뉴(팝업메뉴)를 제공합니다.

function Grid02_onrbuttondown(obj:Grid, e:GridMouseEventInfo)

{

clickRow  = e.row;

clickCell = e.cell;

if(clickRow < 0 && clickCell > -1) {

popup_GridHead.trackPopup(e.screenX+5,e.screenY+5,"right bottom");

}

}

해당하는 셀의 위치를 찾아서 팝업 메뉴를 올려줍니다.

단 해당 위치가 헤더인지 아닌지 구분해서 헤더인 경우에만 처리하게 됩니다.

이벤트에서 헤더 여부를 판단할 수 없어 셀의 위치로 판단하게 되네요. 


팝업메뉴에서 틀고정/해제/기본을 선택하면 해당 명령이 실행됩니다.


http://cafe.naver.com/xplatform101/163 에서 틀고정에 대해서 간략하게 설명했는데

여기에서는 해당 기능을 동적으로 어떻게 처리하는지 설명해주고 있습니다.


컬럼일 경우에는 left나 head 로 band 속성을 정의해주면 되고

row 인 경우에는 fix 속성을 fixed 로 정의해주면 됩니다.


이번 예제에서는 컬럼만 해당하니 row는 신경쓸 필요없고.

하여간 동적으로 틀 고정 기능을 변경할 수 있다는 것이 중요한것 아닌가 싶습니다.


* 오른쪽 마우스 클릭시 팝업 메뉴를 띄우도록 했는데

쇼케이스에서 기본적으로 보여지는 애플리케이션 정보와 이벤트가 중복되어 

아래 이미지와 같이 보이게 됩니다.



기본적인 이벤트는 상위 컴포넌트로 타고 올라가기 때문입니다.

이럴 때에는 최초 발생하는 이벤트에서 return true 를 반환해주면 됩니다.

모든 이벤트는 기본 return 값이 false 이기 때문에

이벤트를 계속 상위 컴포넌트로 넘겨줍니다.

그래서 필요에 따라 해당 이벤트를 잘 조정해주면 됩니다.

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