그리드의 컬럼의 하나의 데이터가 여러행일 경우 autosizingtype : row 로 설정 해주면 해당하는 row만큼 그리드의 row의 height를 자동으로 맞춰준다.


문제는 이 그리드가 입력이 가능한 상태일 때 값을 변경하고 엔터키를 입력하여도 다음 컬럼으로 포커스가 이동하지 않는 현상이 있다.(버그인지 확인안됨)


이런 경우 엔터키로 다음 컬럼으로 포커스를 이동해주기 위해서는 다음과 같이 기능 구현을 해주어야 한다.


Grid Event ( onenterdown )

function grd_onenterdown( obj:Grid, e:GridEditEventInfo ) {


// 첫번째 입력 셀의 col 의 Number

var firstCol = 0;


// 마지막 입력 셀의 col 의 Number

var lastCol = 10;


// 현재 선택된 row의 Position 위치

var nCurrow = ds.rowposition;


// Cell 이동 결과 값 (boolean)

var res = false;


// 현재 col의 값이 마지막 입력 셀이면,

if ( e.col == lastCol ) {

// row의 위치를 하나 증가 시킴.

ds.rowposition = nCurrow + 1;

// 첫번째 입력 셀로 포커스 이동.

obj.setCellPos(firstCol);

}

// 현재 col의 값이 마지막 입력 셀이 아니면, (엔터입력으로 두칸씩 이동하는 경우 아래 else 를 제외)

else {

// 현재 위치에서 다음 위치의 셀로 이동 시킴. (이동이 성공하면 true, 실패하거나 이동할 셀이 없으면 false)

res = obj.moveToNextCell();

}

}


'Tools > XPlatform' 카테고리의 다른 글

GetFormFromHandle  (0) 2015.11.06
천단위마다 콤마(,) 출력  (0) 2015.10.14

+ Recent posts