중요 업데이트 알림사용해보기제품구매도움영상문의
RealGrid2v2.6.2

  • 튜토리얼
      • 인디케이터
      • 상태바
      • 체크바
      • 체크바와 데이터 필드의 연동
      • 컨텍스트 메뉴
      • 토스트 메시지 창
      • 커서
      • 열 고정하기
      • 행 고정하기
      • 선택
      • 다중 선택
      • 같은 값의 셀 생략하기
      • 셀 버튼
      • 팝업 메뉴 버튼
      • 셀 병합
      • Lookup 컬럼
      • Lookup 트리
      • 툴팁
      • 그룹헤더 툴팁
      • 화면 표시값 변경하기
      • Place Holder
      • 컬럼 만들기
      • 컬럼 속성 동적 변경하기(visible, editable)
      • 컬럼 너비 자동 조정
      • 데이터 정렬
      • 컬럼 이동
      • 자동 필터링
      • 데이터 필터링
      • 컬럼 레이아웃(컬럼 그룹)
      • 컬럼 레이아웃(컬럼 그룹) 속성 동적 변경하기
      • 컬럼 너비 조절
      • 그룹컬럼 접기
      • 셀 가로병합
      • 레이아웃(추가, 삭제)
      • 라인 편집기
      • 멀티라인 편집기
      • 숫자 편집기
      • 드롭다운 편집기
      • 날짜 편집기
      • 마스크 편집기
      • 입력제한 편집기
      • 행 추가/삽입
      • 행 삭제
      • 행 데이터 수정
      • 행/셀 데이터 가져오기
      • 셀 데이터 수정
      • 헤더 높이
      • 헤더 체크박스 사용
      • 컬럼 푸터
      • 컬럼 푸터 병합
      • 상단 요약 표시
      • 컬럼 헤더 HTML Template
      • 컬럼 레이아웃(그룹 컬럼) 헤더 HTML Template
      • 행 높이
      • 행 그룹핑
      • 그룹핑 API
      • 행 병합 그룹핑
      • 아이템 모델
      • 그리드 동적 높이
      • JSON 데이터 가져오기
      • XML 데이터 가져오기
      • 그리드 Lazy Loading 구현
      • 마스터 디테일 예
      • provider 공유하기
      • 데이터 타입
      • 불린 타입 필드
      • 날짜 타입 필드
      • Object 타입 필드
      • Subtypes
      • 롤백
      • 검색
      • 계산 필드
      • 그리드에서 페이징 처리 1
      • 그리드에서 페이징 처리 2
      • 행 Drag & Drop
      • Grid To Grid
      • 텍스트 렌더러
      • 체크 렌더러
      • 바 렌더러
      • 이미지 렌더러
      • 아이콘 렌더러
      • 도형 렌더러
      • 시그널 렌더러
      • 링크 렌더러
      • HTML 렌더러
      • 바코드 렌더러
      • 커스텀 렌더러 - 이미지버튼
      • 구글차트 연동
      • 하이차트 연동
      • 시리즈 컬럼
      • 스파크 컬럼
      • 행 상태
      • Undo / Redo
      • 복사하기/붙여넣기
      • 병합 일괄 수정
      • RealGrid2 스타일
      • 사용자 스타일 - 개요
      • 바디 영역 스타일
      • 헤더, 풋터, 상태바 스타일
      • 셀, 데이터 영역 스타일
      • 편집 영역 스타일
      • styleName 속성 및 콜백
      • 컬럼 동적 스타일
      • 행 동적 스타일
      • 셀 동적 스타일
      • RealGrid2 테마
      • 포커스 스타일
      • 엑셀 내보내기
      • 행 그룹된 그리드 내보내기
      • 여러 레이아웃으로 구성된 그리드 내보내기
      • 다중 그리드 Excel 내보내기
      • Excel문서에 제목 추가하기
      • 엑셀 스타일
      • 이미지 엑셀 내보내기
      • 사용자 지정 문자 출력
      • 엑셀 시트 보호
      • Mobile FormView
      • 대량 데이터 불러오기
      • 트리뷰
      • 트리 구현 - Array데이터
      • 트리 구현 - Object데이터
      • 트리 구현 - Xml데이터
      • 트리 노드 조작하기
      • 트리 아이콘 1
      • 트리 아이콘 2
      • 트리 이벤트
      • 트리 Lazy Loading
      • 사용자 지정 컬럼 유효성 검사
      • 사용자 지정 행 유효성 검사
      • 전체 유효성 검사
      • 유효성 검사 통과
      • 이벤트 발생 순서
      • 클릭 이벤트
      • 렌더링 완료 이벤트
      • 하이차트 연동 컬럼 선택
      • 하이차트 연동 컬럼 필터링
      • 하이차트 연동 행 선택
      • amchart 연동 체크 선택
      • amchart 연동 행 선택
      • 추천 설정
      • 필드와 컬럼 일괄 생성
      • SPAN(컬럼그룹)
      • 행 상태에 따른 특정 컬럼 편집 제어
      • CheckBar에서 자식 노드 연동하여 체크하기
      • Excel Import
      • Group Footer 표시여부 조작하기
      • 체크바와 관계된 팁
      • 상태바와 관계된 팁
      • 동적 에디터 변경
      • text타입 날짜 편집기
      • ColorPicker 연결
      • 파일 Drag and Drop
      • 셀 병합에서 텍스트를 상단으로 이동
      • 병합된 셀의 합계 계산
      • HEADER와 FOOTER에 여러줄로 표시하기
      • 행 삭제와 관계된 팁

이벤트 발생 순서

추가/수정/삭제 및 복사/붙여넣기, 이동과 관련된 여러 Event들을 모아놓은 페이지입니다.

적용된 추가/수정/삭제 이벤트들

gridView.onCopy = function(grid, selection, event) {
    addLog("grid.onCopy");
};

gridView.onCurrentChanging = function (grid, oldIndex, newIndex) {
    addLog("grid.onCurrentChanging: " + "(" + oldIndex.itemIndex + ", " + oldIndex.column + ") => (" + newIndex.itemIndex + ", " + newIndex.column + ")");

    // return false; 를 하는 경우 위치 변경이 되지 않는다.
};

gridView.onCurrentChanged = function (grid, newIndex) {
    addLog("grid.onCurrentChanged: " + "(" + newIndex.itemIndex + ", " + newIndex.column + ")");
};

gridView.onCurrentRowChanged = function (grid, oldRow, newRow) {
    addLog("grid.onCurrentRowChanged: " + "(" + oldRow + " => " + newRow + ")");
};

gridView.onEditCanceled = function (grid, index) {
    addLog("grid.onEditCanceled driven, edit index=" + JSON.stringify(index));
};

gridView.onEditChange = function (grid, index, value) {
    addLog("grid.onEditChange driven, " + index.column + ' at ' + index.dataRow + ' was replaced by value: ' + value);
};

gridView.onEditCommit = function (grid, index, oldValue, newValue) {
    addLog("grid.onEditCommit driven, " + oldValue + " => " + newValue);
};

gridView.onEditRowChanged = function (grid, itemIndex, dataRow, field, oldValue, newValue) {
    var v = grid.getValue(itemIndex, field);
    addLog("grid.onEditRowChanged: " + oldValue + " => " + newValue);
};

gridView.onGetEditValue = function (grid, index, editResult) {
    addLog("grid.onGetEditValue: " + JSON.stringify(editResult));
};

gridView.onCellEdited = function (grid, itemIndex, row, field) {
    addLog("grid.onCellEdited: " + itemIndex + ', ' + field);
}

gridView.onHideEditor = function (grid, index) {
    addLog("grid.onHideEditor: " + index.itemIndex + "," + index.column);
};

gridView.onItemEditCancel = function (grid, itemIndex, state) {
    addLog("grid.onItemEditCancel: " + state);
    
    //return false; 를 하는 경우 취소 되지 않는다.
};
    
gridView.onItemEditCanceled = function (grid, itemIndex, state) {
    addLog("grid.onItemEditCanceled: " + state);
};

gridView.onPaste = function (grid, index, event){
    addLog("grid.Paste");
};

gridView.onPasted = function (grid){
    addLog("grid.Pasted");
}

gridView.onEditRowPasted = function (grid, itemIndex, row, fields, oldValues, newValues) {
    addLog('grid.onEditRowPasted: {' + newValues.join() + '}');
};

gridView.onRowInserting = function (grid, itemIndex, dataRow) {
    addLog("grid.onRowInserting: " + itemIndex);

    //추가하지 못하게 하려면 string 메시지나 boolean false를 리턴한다.
    return null;
};

gridView.onRowsDeleting = function (grid, rows) {
    addLog("grid.onRowsDeleting: " + rows);

    //null이 아닌 값을 반환하면 지정 텍스트를 표시하고 삭제를 취소한다.
    return null;
};

gridView.onRowsPasted =  function (grid, items) {
    addLog("grid.onRowsPasted" + items);
};

gridView.onShowEditor = function (grid, index, props, attrs) {
    addLog("grid.onShowEditor: " + index.itemIndex + "," + index.column);
};

dataProvider.onDataChanged = function (provider) {
    addLog("provider.onDataChanged");
};

dataProvider.onRestoreRows = function (provider, rows) {
    addLog('provider.onRestoreRows: ' + rows.join(', '));
};

dataProvider.onRowCountChanged = function (provider, newCount) {
    addLog("provider.onRowCountChanged: " + newCount);   
};

dataProvider.onRowDeleted = function (provider, row) {
    addLog('provider.onRowDeleted: ' + row);
};

dataProvider.onRowDeleting = function (provider, row) {
    addLog('provider.onRowDeleting: ' + row);
    return true;
};

dataProvider.onRowInserted = function (provider, row) {
    addLog("provider.onRowInserted");
};

dataProvider.onRowInserting = function (provider, row, values) {
    addLog('provider.onRowInserting: ' + row);
    return true;
};

dataProvider.onRowListUpdated = function (provider, rows) {
    addLog("provider.onRowListUpdated: " + rows.join(', '));
};

dataProvider.onRowMoved = function (provider, row) {
    addLog("provider.onRowMoved: " + row + ' to ' + newRow);
};

dataProvider.onRowMoving = function (provider, row, newRow) {
    addLog("provider.onRowMoving: " + row + ' to ' + newRow);

    return true;
};

dataProvider.onRowsDeleted = function (provider, rows) {
    addLog("provider.onRowsDeleted: " + rows.join(', '));
};

dataProvider.onRowsInserted = function (provider, row, count) {
    addLog("provider.onRowsInserted: " + count + " rows inserted!");
};

dataProvider.onRowsMoved = function (provider, row, count, newRow) {
    addLog('provider.onRowsMoved: ' + count + ' rows moved');
};

dataProvider.onRowStateChanged = function (provider, row) {
    addLog('provider.onRowStateChanged: ' + row);
};

dataProvider.onRowStatesChanged = function (provider, rows) {
    addLog('provider.onRowStatesChanged: ' + rows.join(','));
};

dataProvider.onRowStatesCleared = function (provider) {
    addLog('provider.onRowStatesCleared');
};

dataProvider.onRowsUpdated = function (provider, row, count) {
    addLog('provider.onRowsUpdated');
};

dataProvider.onRowUpdated = function (provider, row) {
    addLog("provider.onRowUpdated: " + row);
};

dataProvider.onRowUpdating = function (provider, row) {
    addLog("provider.onRowUpdating: " + row);
    return true;
};

dataProvider.onValueChanged = function (provider, row, field) {
    addLog('provider.onValueChanged: ' + row + ' row, ' + field + ' fieldIndex');
};

레벨, 메시지, 에러 상태 등에 대해서는 셀 Validation을 참조하세요.