
From을 선택하면 Property에 stepindex를 1로 설정해준다
-> Reload를 하면 2번째 페이지가 고정을 나오게 된다
getRowType


4-4 버튼을 누르면 3,4,5가 지워지는데 지울 때는 위에서부터 지우는 것이 아닌 거꾸로 지우는 것이다
하나의 메서드로 Dataset 변경여부를 체크할 수 없으므로 코딩을 해야 한다
두 가지를 체크를 해야한다
삭제된 건수가 있는지 확인
삭제된 건수가 없다면 신규나 변경된 정보가 있는지 확인

위의 이미지처럼 소스를 this.btn_Exe4_Check_onclick 안에 입력해주면 된다

위의 이미지처럼 바꾸어주면 이 함수는 어떠한 Dataset이 들어와도 처리할 수 있는 로직이 된다
onbeforeclose 연결 시 주의사항
변경사항을 체크할 때는 Form의 onbeforeevent를 이용해서 체크한다
-> confirm이 아닌 return "문자열";로 작성하는 것이다
Dataset 복사 기능을 사용하는 경우는 공통코드를 Global Dataset에 가져다 놓고 필요한 Form에서 가져다 사용할 때이다
복사된 Dataset은 모두 Row type이 1로 변경된다
-> 데이터는 복사되지만 Row type는 복사되지 않고 1로 세팅이 된다
createFormat() 메서드는 Dataset을 Grid에 바인딩할 때 마우스를 끌어서 놓으면 Dataset의 내용을 Grid에 자동으로 그려지는데 이 방법을 Script로 처리하는 방식
Dataset4를 Dataset5에 assign한다
-> assign은 데이터와 Row type 둘 다 복사가 되게 한다
assign은 레코드 Type도 복사되기 때문에 저장할 때 영향을 줄 수 있으니 반드시 알고 있어야 한다

6-3 버튼을 누르면 Modfiy1로 바뀌고 Dataset의 cancolumnchange가 먼저 발생하고 oncolumnchanged Event가 발생하는 것을 확인할 수 있다
효율적인 코딩을 하기위해서 cancolumnchange에 작성하는 것이 Script(코딩)량을 훨씬 적게 든다

return false해야 oncolumnchanged가 실행되지 않고 Stop(멈추게)된다

this.Dataset6.set_enableevent(false),this.Dataset6.set_enableevent(true)가 있기 전에는 6-3,6-5 버튼을 누르면 output창에 trace log가 기록됐는데 위의 이미지처럼 하면 trace log에는 아무것도 기록이 되지 않는다