트리그리드 » Event

on_itemeditcomplete

Description

그리드 아이템에 대한 편집이 완료한 시점에 발생하는 동기식 리턴값 이벤트이다.

Parameters

Parameters Type Description
objInst INSTANCE 이벤트가 발생한 오브젝트
nRow short 편집한 로우 인덱스 (Zero-Base)
nColumn short 편집한 컬럼 인덱스 (Zero-Base)
strPrevItemText STRING 편집하기 이전의 텍스트

Return Value

Type Description
short 0/1/2 값만 리턴할 수 있다. (Remark 참조)

Remark

기본적으로 편집이 완료되면, 편집이 완료된 아이템을 기준으로 그리드내의 아이템에 대해서 Z-Order 순으로 다음 편집이 가능한 아이템으로 자동으로 편집 위치가 이동된다.

이벤트의 처리 함수의 리턴값에 따라서 편집 아이템 자동 이동 여부 및 편집값 취소 여부가 결정된다.

* Return Value
0 : 편집만 완료하고, 포커스가 이동하지 않는다.
1 : 그리드 내에서 다음으로 편집이 가능한 아이템으로 포커스가 이동한다.
2 : 편집된 값을 취소하고, 포커스가 이동하지 않는다.

Example

// 그리드 편집 완료 이?트 처리
// 그리드(이름:grdTree)는 트리 영역 이외에 두개의 칼럼을 가지고 있고,
// 두번째 칼럼과 세번째 칼럼이 모두 편집 가능 상태이다.
// 사용자가 입력한 데이터가 100 이상을 입력하였으면, 경고창을 띄운다.

/**
 * 그리드 아이템이 편집 완료 시점에 발생하는 이벤트
 *
 * @param {Object} objInst 그리드 컴포넌트 인스턴스
 * @param {number} nRow 그리드 행 인덱스 (Zero-Based)
 * @param {number} nColumn 그리드 열 인덱스 (Zero-Based)
 * @param {string} strPrevItemText 편집전 아이템 값
 *
 * @returns {number} 키 처리 방식
 * 	0 - 편집만 완료하고, 포커스가 이동하지 않음
 * 	1 - 그리드 내에서 다음으로 편집이 가능한 아이템으로 포커스 이동
 * 
function grdTree_on_itemeditcomplete(objInst, nRow, nColumn, strPrevItemText)
{
	factory.consoleprint("on_itemeditcomplete> Start");
	factory.consoleprint("on_itemeditcomplete> Grid Object Name = " + objInst.getname());
	factory.consoleprint("on_itemeditcomplete> nRow = " + nRow);
	factory.consoleprint("on_itemeditcomplete> nColumn = " + nColumn);
	factory.consoleprint("on_itemeditcomplete> strPrevItemText = " + strPrevItemText);

    // 입력한 데이터를 읽어옴
    var strInputText = grdTree.getitemtext(nRow, nColumn);
	
    // 숫자형으로 변환
    var nInputData = parseInt(strInputText, 10);
	
    // 100 이상의 값을 입력한 경우
    if(nInputData >= 100) {
        // 첫번재 칼럼이면, 이전 데이터로 원복한다.
        if(nColumn == 1) {
            screen.alert("100이상의 값을 입력하였습니다.");
            grdTree.setitemtext(nRow, nColumn, strPrevItemText);
            return 0;
        }
        // 두번째 칼럼이면, 다시 편집모드로 들어간다.
        else if(nColumn == 2) {
            screen.alert("100이상의 값을 입력하였습니다.");
            grdTree.setitemeditstart(nRow, nColumn, true);
            return 0;
        }
    }
	
    return 1;
}

// 화면 로드 이벤트 처리
function screen_on_load()
{
    // 트리 그리드에 임시 데이터 설정
    grdTree.insertitem("1", 1, 2, "1", "");
    grdTree.insertitem("2", 1, 2, "2", "");	
    grdTree.setitemtext(0, 1, "1");
    grdTree.setitemtext(0, 2, "2");	
    grdTree.setitemtext(1, 1, "3");
    grdTree.setitemtext(1, 2, "4");	
}

Viewer Ver.

9.1.1.1

Update Date

20240126