드래그 앤 드롭 이벤트 발생 순서 (event flow)

드래그 앤 드롭 시 이벤트 발생 순서입니다. 드래그 단위에 따라 행 드래그(CanDrag)와 셀 드래그(DragCell)로 나뉩니다.

행 드래그 (순서 변경)

onMouseDownonStartDrag → 드래깅 → onEndDragonDragFinish

셀 드래그 (DragCell)

onStartDragCell → 드래깅 → onEndDragCell

시트 간 드래그

다른 시트로 드래그할 때도 이벤트는 모두 출발 시트에서만 발생하며, 도착 시트는 tosheet으로 확인합니다.

이벤트별 시점 및 용도

이벤트 시점 용도
onStartDrag 행 드래그 시작 전 드래그 취소(return true), 드래그 표시 HTML 지정
onEndDrag 행 드롭 시점 드롭 허용/거부, 드롭 위치 지정
onAfterRowMoveToSheet 시트 간 행 이동 후 원본 행 처리 결정(이동 / 복사 / 제거)
onDragFinish 행 드롭 완료 후(가장 마지막) 대상 시트(tosheet) 반영 후 처리
onStartDragCell 셀 드래그 시작 전 드래그 취소(return true), 드래그 표시 HTML 지정
onEndDragCell 셀 드롭 시점 드롭 위치(tosheet / torow / tocol)에 셀 값 반영

Read More