생명주기 & 이벤트 메서드

Hamm1n·2026년 9월 10일

Canias/TROIA

목록 보기
3/34

1. 📊 테이블 그리드 행(Row) 이벤트

그리드에서 행을 추가하거나 지울 때 발생하며, 사전 검증이나 수량/금액 재계산에 핵심적으로 사용됩니다.

  • ROWINSERTBEFORE: 그리드에 새 행을 추가하기 직전 실행
    ➔ "헤더의 필수값(회원 ID) 안 적었으면 행 추가 버튼 눌러도 행 생성하지 마!" (사전 차단/검증)
  • ROWINSERTAFTER: 그리드에 새 행이 추가된 직후 실행
    ➔ "새 행 생성됐으니 순번(Line No) 1씩 늘려서 채우고 기본 수량 1개로 세팅해!" (초기값 세팅)
  • ROWDELETEBEFORE: 그리드에서 행을 지우기 직전 실행
    ➔ "정말 이 항목을 삭제할 건지 확인 메시지 띄우고, '아니오' 누르면 삭제 취소해!" (삭제 승인)
  • ROWDELETEAFTER: 그리드에서 행이 지워진 직후 실행
    ➔ "행 지워졌으니 남아있는 책들 기준으로 총 금액이랑 건수 다시 계산해!" (후속 정리 및 재합산)

2. 📑 테이블 셀(Cell) & 선택 이벤트

그리드 내부의 특정 칸이나 선택 위치가 바뀔 때 발생합니다.

  • CELLCHANGEBEFORE: 셀의 값이 바뀌기 직전 실행
    ➔ "입력한 대여 수량이 현재 재고 수량보다 많으면 입력 취소하고 이전 값으로 돌려놓아!" (값 유효성 검사)
  • CELLCHANGEAFTER: 셀의 값이 바뀐 직후 실행
    ➔ "책 단가나 수량이 바뀌었으니 해당 행의 대여금액과 하단 총합계를 실시간 계산해!" (실시간 연산)
  • DBLCLICK: 그리드의 특정 행이나 셀을 더블클릭할 때 실행
    ➔ "이 행 더블클릭했으니 선택한 도서 번호 부모 창으로 넘겨주고 팝업 닫아!"
  • SELECTIONCHANGED: 사용자가 다른 행이나 셀을 클릭해서 선택 위치(Active Row)를 바꿀 때 실행
    ➔ "선택된 행이 바뀌었으니 하단 상세 영역에 새로 선택한 항목 정보 뿌려줘!"

3. 🖥️ 화면(Dialog) 생명주기 이벤트

다이얼로그 화면이 열리고 닫히는 전체 흐름을 제어합니다

  • BEFORE: 화면이 사용자 눈에 보이기 직전(메모리 로딩 단계) 실행
    ➔ "화면 켜지기 전에 기본 회사코드('1000') 세팅하고 변수들 초기화해!"
  • AFTER: 화면이 사용자 눈에 짜잔하고 나타난 직후 실행
    ➔ "화면 로딩 끝났으니 DB에서 목록 조회(SEARCH)해서 그리드에 채워넣어!"

사실상 BEFORE와 AFTER는 같은 역할이지만, 분리해둔 것뿐

  • TRANSCALLED: 다른 화면에서 파라미터(Parameter)를 받으면서 열릴 때 실행
    ➔ "부모 화면에서 넘겨준 대여 번호 받아서 상세 정보 자동 조회해!"
  • CLOSEBEFORE: 사용자가 화면을 닫으려고 할 때(X 버튼 등) 실행
    ➔ "저장 안 된 변경사항이 있는데 정말 창 닫을 건지 물어봐!"

4. 🔲 일반 UI 컨트롤 이벤트 (TextField, Button 등)

버튼, 텍스트 필드 등 일반 UI 요소에서 발생합니다

  • CLICK: 버튼을 클릭했을 때 실행
    ➔ "조회/저장/삭제 버튼 눌렀으니 해당 업무 로직 실행해!"
  • GAINFOCUS: 입력창에 커서(Focus)가 들어가는 순간 실행
    ➔ "이 입력창에 커서 들어왔으니 하단 상태바에 입력 안내 문구 띄워!"
  • LOSEFOCUS: 입력창에서 커서가 벗어나는(다른 곳 클릭) 순간 실행
    ➔ "입력 마치고 딴 데 클릭했으니 입력한 회원 ID가 진짜 DB에 있는지 검증해!"

0개의 댓글