그리드 아이템이 편집 상태가 시작/종료 시점에 발생하는 이벤트이며, 자세한 내용은 샘플 소스를 참조한다.
| Parameters | Type | Description | 
|---|---|---|
| objInst | INSTANCE | 이벤트가 발생한 오브젝트 | 
| nRow | long | 그리드 행 인덱스 (Zero-Based) | 
| nColumn | long | 그리드 열 인덱스 (Zero-Based) | 
| bShowEdit | BOOL | 편집 상태 시작/종료 여부 | 
| Type | Description | 
|---|---|
| void | 
이벤트가 발생하기 위해서는 아이템이 편집 가능한 상태이어야 한다.
편집 모드가 시작될 때 기본 동작은, 기존 텍스트는 모두 선택되어 지고, 커서는 맨 마지막에 위치한다.
on_itemeditshow 이벤트를 이용하면 편집 모드가 시작될 때, 커서 위치나, 텍스트 선택 형태를 변경할 수 있다.
또한 예제와 같이 원본 데이터와 표시용 데이터를 분리하여 처리할 수도 있다.
// 그리드(이름:grd)는 두개의 칼럼으로 구성되어 있다.
// 첫번째 칼럼은 편집 가능 상태이고, 
// 원본 데이터에 대한 Display 데이터(소수점 2자리까지 표시)를 표시한다.
// 두번째 칼럼은 Hidden 상태이고, 원본 데이터를 저장한다.
/**
 * 그리드 아이템이 편집 상태가 시작/종료 시점에 발생하는 이벤트
 *
 * @param {Object} objInst 그리드 컴포넌트 인스턴스
 * @param {number} nRow 그리드 행 인덱스 (Zero-Based)
 * @param {number} nColumn 그리드 열 인덱스 (Zero-Based)
 * @param {boolean} bShowEdit 편집 시작/종료 여부
 */
function grdNormal_on_itemeditshow(objInst, nRow, nColumn, bShowEdit)
{
	factory.consoleprint("on_itemeditshow> Start");
	factory.consoleprint("on_itemeditshow> Grid Object Name = " + objInst.getname());
	factory.consoleprint("on_itemeditshow> nRow = " + nRow);
	factory.consoleprint("on_itemeditshow> nColumn = " + nColumn);
	factory.consoleprint("on_itemeditshow> bShowEdit = " + bShowEdit);
    var strOriginalText; // 원본 데이터 문자열
    var strDisplayText;  // 표시용 데이터 문자열
	
    // 첫번째 칼럼이 아니면, 그냥 리턴
    if(nColumn != 0) {
        return;
    }
    // 편집 모드가 시작되는 이벤트인 경우
    if (bShowEdit == true) {
        // 원본 데이터 칼럼에서 데이터를 가져옴		
        strOriginalText = grd.getitemtext(nRow, nColumn + 1);
        // 원본 데이터를 Display 칼럼에 표시
		grd.setitemeditingtext(strOriginalText);
			
        // 그리드의 에디트의 텍스트를 모두 선택한 상태로 표시하고,
        // 커서를 마지막으로 이동
        grd.setitemeditsel(0, -1);
    }
    // 편집 모드가 종료되는 이벤트인 경우
    else {
        // 사용자가 입력한 원본 데이터를 변수에 저장
        strOriginalText = grd.getitemtext(nRow, nColumn);
		
        // 원본 데이터를 원본 칼럼에 저장
        grd.setitemtext(nRow, nColumn + 1, strOriginalText);
		
        // 소숫점 2자리를 기준으로 반올림하여 Display 데이터 설정
        strDisplayText = parseFloat(strOriginalText).toFixed(2);
		
        // Display 데이터 표시
        grd.setitemtext(nRow, nColumn, strDisplayText);
    }
}