그리드의 컬럼의 하나의 데이터가 여러행일 경우 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 |