# event 사용법 기초

> 시트의 이벤트는 아래와 같이 두 가지 방법으로 설정할 수 있습니다.

## 1. 객체 생성시점에서 이벤트 설정하기

시트를 초기화하는 `options` 속성 설정 시 `Events` 속성을 통해 다음과 같이 설정합니다.

    var OPTS = {
        Cfg:{ ... },
        Cols:[ ... ],
        "Events":{
            onAfterChange:function(evtParam){
                ... 이벤트 발생 시 로직 구현 ...
            }
        }
    };
    IBSheet.create(
        id:"sheet",
        el:"sheet_div",
        options:OPTS
    )

## 2. 객체 생성 이후 이벤트 설정하기

객체가 생성되고 난 이후에는 `bind` 함수를 통해 이벤트를 설정하실 수 있습니다.

        // 이벤트 명, 발생시 콜백함수
        sheet.bind("onAfterChange", function(evtParam) {

        });

이벤트 발생시 `callback` 함수에 넘어오는 `evtParam`에는 각 이벤트 별로 이벤트가 발생한 `시트 객체나, 행 객체, 열이름` 등이 들어 있습니다.

> 주의!
> 객체 생성 이후에 이벤트를 추가하는 것은 onBeforeCreate에서 공통으로 처리한 로직을 무시할 수 있으므로 권장하지 않습니다.

### Example

    options.Events = {
        onAfterChange :function(evtParam){
            if(evtParam.row["ConFirmYn"]=="Y"){
                alert("금월 결산이 종료되었습니다.</br>마감 정보를 확인하시고 수정해 주세요.");
            }else if(evtParam.value > evtParam.row["MaxBud"]){
                alert("입력값이 최대 예산치보다 높습니다.");
            }
        },
        onClick:function(evtParam){
            if(evtParam.col == "myBtn1"){
                if(formValidWork()){
                    document.frm.submit();
                }
            }
        }
    }

### Read More

### Since

product | version | desc
--- | --- | ---
core | 8.0.0.0 | 기능 추가