====== 그리드 이벤트 가이드 ====== 그리드 컴포넌트 이벤트에 대한 기본 기능 예시 화면이다. 관련 이벤트로 on_useraction, on_prekeydown, on_keydown, on_itemselchange, on_itemeditshow, on_itemeditcomplete, on_begindrag on_enddrag, on_dropcomplete, on_headerclick, on_headerdblclick, on_itemclick, on_itemmousedown, on_itemdblclick , on_itembtnclick, on_itempopbtnclick, on_itemvaluechange, on_itemvaluechanged, on_itemeditvalidation, on_headercheckclick, on_headerrclick, on_statitemclick, on_statitemdblclick, on_checkrowclick, on_checkrowchange, on_rclick, on_mousein, on_mouseout, on_mousedown, on_click, on_selectblock, on_sortcomplete, on_filtercomplete, on_fileloadstart, on_fileload, on_filesavestart, on_filesave, on_precontextmenu, on_columnwidthchange, on_columnmove, on_paste, on_pastecomplete, on_focusin, on_focusout, on_validation, on_vscroll, on_hscroll, on_dropfiles가 있다. ===== 예시 ===== 템플릿 위치: /HTML5/COMPONENT/GRID/grid_event 템플릿 파일 * [[xf5projecthome>template/screen/HTML5/COMPONENT/GRID/grid_event.xml|grid_event.xml]] * [[xf5projecthome>template/screen/HTML5/COMPONENT/GRID/grid_event.js|grid_event.js]] * [[xf5projecthome>template/template.html?xframe_screen_url=/HTML5/COMPONENT/GRID/grid_event|새창으로 실행]] echo ''; echo ''; echo ''; ==== 화면 스크립트 ==== ////////////////////////////////////////////////////////////////////////////////// // 그리드 관련 이벤트 시작 ////////////////////////////////////////////////////////////////////////////////// /** * 그리드 사용자 기능 선택 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nActionType 사용자 동작 유형 * @param {string} strActionParam 사용자 동작 유형별 부가적인 파라미터 */ function grd_on_useraction(objInst, nActionType, strActionParam) { factory.consoleprint("on_useraction> Start"); factory.consoleprint("on_useraction> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_useraction> nActionType = " + nActionType); factory.consoleprint("on_useraction> strActionParam = " + strActionParam); } /** * 그리드 키보드 이벤트 처리 전 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} keycode 키코드 * @param {boolean} bctrldown CTRL 키 누름 상태 여부 * @param {boolean} bshiftdown SHIFT 키 누름 상태 여부 * @param {boolean} baltdown ALT 키 누름 상태 여부 * @param {boolean} bnumpadkey 숫자 패드에서 발생한 키 여부 * @param {boolean} bediting 아이템 편집 상태 여부 * @param {number} nRow 그리드 행 인덱스 (Zero-Based) * @param {number} nColumn 그리드 열 인덱스 (Zero-Based) * * @returns {number} 키에 대한 처리 방식 * 0 - 키에 대한 기본 동작이 수행됨 * 1 - 키에 대한 기본 동작을 수행하지 않음 */ function grd_on_prekeydown(objInst, keycode, bctrldown, bshiftdown, baltdown, bnumpadkey, bediting, nRow, nColumn) { factory.consoleprint("on_prekeydown> Start"); factory.consoleprint("on_prekeydown> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_prekeydown> keycode = " + keycode); factory.consoleprint("on_prekeydown> bctrldown = " + bctrldown); factory.consoleprint("on_prekeydown> bshiftdown = " + bshiftdown); factory.consoleprint("on_prekeydown> baltdown = " + baltdown); factory.consoleprint("on_prekeydown> bnumpadkey = " + bnumpadkey); factory.consoleprint("on_prekeydown> bediting = " + bediting); factory.consoleprint("on_prekeydown> nRow = " + nRow); factory.consoleprint("on_prekeydown> nColumn = " + nColumn); return 0; } /** * 그리드 키보드 이벤트 처리 후 이벤트 * 키보드 이벤트에 대한 처리 후에 발생한다. * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} keycode 키코드 * @param {boolean} bctrldown CTRL 키 누름 상태 여부 * @param {boolean} bshiftdown SHIFT 키 누름 상태 여부 * @param {boolean} baltdown ALT 키 누름 상태 여부 * @param {boolean} bnumpadkey 숫자 패드에서 발생한 키 여부 * @param {boolean} bediting 아이템 편집 상태 여부 * @param {number} nRow 그리드 행 인덱스 (Zero-Based) * @param {number} nColumn 그리드 열 인덱스 (Zero-Based) * * @returns {number} 키 처리 방식 * 0 - 자신의 부모 화면으로 KeyDown 이벤트를 넘길 경우 (기본값) * 1 - 자신의 부모 화면으로 KeyDown 이벤트를 넘기지 않을 경우 */ function grd_on_keydown(objInst, keycode, bctrldown, bshiftdown, baltdown, bnumpadkey, bediting, nRow, nColumn) { factory.consoleprint("on_keydown> Start"); factory.consoleprint("on_keydown> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_keydown> keycode = " + keycode); factory.consoleprint("on_keydown> bctrldown = " + bctrldown); factory.consoleprint("on_keydown> bshiftdown = " + bshiftdown); factory.consoleprint("on_keydown> baltdown = " + baltdown); factory.consoleprint("on_keydown> bnumpadkey = " + bnumpadkey); factory.consoleprint("on_keydown> bediting = " + bediting); factory.consoleprint("on_keydown> nRow = " + nRow); factory.consoleprint("on_keydown> nColumn = " + nColumn); return 0; } /** * 그리드 아이템 선택 변경 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nPrevSelectRow 이전 그리드 행 인덱스 (Zero-Based) * @param {number} nPrevSelectColumn 이전 그리드 열 인덱스 (Zero-Based) * @param {number} nCurSelectRow 현재 그리드 행 인덱스 (Zero-Based) * @param {number} nCurSelectColumn 현재 그리드 열 인덱스 (Zero-Based) */ function grd_on_itemselchange(objInst, nPrevSelectRow, nPrevSelectColumn, nCurSelectRow, nCurSelectColumn) { factory.consoleprint("on_itemselchange> Start"); factory.consoleprint("on_itemselchange> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_itemselchange> nPrevSelectRow = " + nPrevSelectRow); factory.consoleprint("on_itemselchange> nPrevSelectColumn = " + nPrevSelectColumn); factory.consoleprint("on_itemselchange> nCurSelectRow = " + nCurSelectColumn); factory.consoleprint("on_itemselchange> nCurSelectColumn = " + nCurSelectColumn); } /** * 그리드 아이템이 편집 상태가 시작/종료 시점에 발생하는 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nRow 그리드 행 인덱스 (Zero-Based) * @param {number} nColumn 그리드 열 인덱스 (Zero-Based) * @param {boolean} bShowEdit 편집 시작/종료 여부 */ function grd_on_itemeditshow(objInst, nRow, nColumn, bShowEdit) { factory.consoleprint("on_itemeditshow> Start"); factory.consoleprint("on_itemeditshow> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_itemeditshow> nRow = " + nRow); factory.consoleprint("on_itemeditshow> nColumn = " + nColumn); factory.consoleprint("on_itemeditshow> bShowEdit = " + bShowEdit); } function grd_on_itemeditcomplete(objInst, nRow, nColumn, strPrevItemText) { return 1; } /** * 그리드 아이템 드래그 시작 이벤트 * 그리드 dragable 속성이 true인 경우, * 사용자가 그리드 아이템 드래그를 시작할 때 발생한다. * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nDragRow 그리드 행 인덱스 (Zero-Based) * @param {number} nDragColumn 그리드 열 인덱스 (Zero-Based) * * @returns {number} 드래그 허용 처리 방식 * 1 - 아이템 드래그 처리 수행 (기본값) * 그외 - 아이템 드래그 처리 방지 */ function grd_on_begindrag(objInst, nDragRow, nDragColumn) { factory.consoleprint("on_begindrag> Start"); factory.consoleprint("on_begindrag> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_begindrag> nDragRow = " + nDragRow); factory.consoleprint("on_begindrag> nDragColumn = " + nDragColumn); return 1; } /** * 그리드 아이템 드래그 완료 이벤트 * 그리드내에서 드래그 및 드랍된 경우에 발생하는 이벤트이다. * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nDragRow 드래그 그리드 행 인덱스 (Zero-Based) * @param {number} nDropRow 드랍 그리드 행 인덱스 (Zero-Based) * @param {number} nDragColumn 드래그 그리드 열 인덱스 (Zero-Based) * @param {number} nDropColumn 드랍 그리드 열 인덱스 (Zero-Based) */ function grd_on_enddrag(objInst, nDragRow, nDropRow, nDragColumn, nDropColumn) { factory.consoleprint("on_begindrag> Start"); factory.consoleprint("on_begindrag> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_begindrag> nDragRow = " + nDragRow); factory.consoleprint("on_begindrag> nDropRow = " + nDropRow); factory.consoleprint("on_begindrag> nDragColumn = " + nDragColumn); factory.consoleprint("on_begindrag> nDropColumn = " + nDropColumn); } /** * 그리드 드랍 이벤트 * 다른 컴포넌트에서 드래그를 시작해, 드랍된 경우에 발생한다. * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {Object} src_screeninst 드랍된 컴포넌트가 포함된 화면 인스턴스 * @param {Object} src_objinst 드랍된 컴포넌트 인스턴스 */ function grd_on_dropcomplete(objInst, src_screeninst, src_objinst) { factory.consoleprint("on_dropcomplete> Start"); factory.consoleprint("on_dropcomplete> Grid Object Name = " + objInst.getname()); } /** * 그리드 헤더 아이템 클릭 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nHeaderRow 그리드 헤더 행 인덱스 (Zero-Based) * @param {number} nHeaderCol 그리드 헤더 열 인덱스 (Zero-Based) */ function grd_on_headerclick(objInst, nHeaderRow, nHeaderCol) { factory.consoleprint("on_headerclick> Start"); factory.consoleprint("on_headerclick> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_headerclick> nHeaderRow = " + nHeaderRow); factory.consoleprint("on_headerclick> nHeaderCol = " + nHeaderCol); } /** * 그리드 헤더 아이템 더블클릭 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nHeaderRow 그리드 헤더 행 인덱스 (Zero-Based) * @param {number} nHeaderCol 그리드 헤더 열 인덱스 (Zero-Based) */ function grd_on_headerdblclick(objInst, nHeaderRow, nHeaderCol) { factory.consoleprint("on_headerdblclick> Start"); factory.consoleprint("on_headerdblclick> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_headerdblclick> nHeaderRow = " + nHeaderRow); factory.consoleprint("on_headerdblclick> nHeaderCol = " + nHeaderCol); } /** * 그리드 아이템 클릭 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nClickRow 그리드 행 인덱스 (Zero-Based) * @param {number} nClickColumn 그리드 열 인덱스 (Zero-Based) * @param {boolean} bBtnClick 아이템 input_type이 데이트피커/콤보박스/스핀넘버인 경우, 버튼 클릭 여부 * @param {number} nImgIndex 아이템 input_type이 image인 경우, 클릭한 이미지 인덱스 * @param {string} strImgUrl 아이템 input_type이 image인 경우, 클릭한 이미지 URL */ function grd_on_itemclick(objInst, nClickRow, nClickColumn, bBtnClick, nImgIndex, strImgUrl) { factory.consoleprint("on_itemclick> Start"); factory.consoleprint("on_itemclick> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_itemclick> nClickRow = " + nClickRow); factory.consoleprint("on_itemclick> nClickColumn = " + nClickColumn); factory.consoleprint("on_itemclick> bBtnClick = " + bBtnClick); factory.consoleprint("on_itemclick> nImgIndex = " + nImgIndex); factory.consoleprint("on_itemclick> strImgUrl = " + strImgUrl); } /** * 그리드 아이템 마우스다운 이벤트 * 그리드 아이템 클릭 이벤트 전에 마우스 좌측 버튼이 눌린 시점에 발생한다. * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nRow 그리드 행 인덱스 (Zero-Based) * @param {number} nColumn 그리드 열 인덱스 (Zero-Based) */ function grd_on_itemmousedown(objInst, nRow, nColumn) { factory.consoleprint("on_itemmousedown> Start"); factory.consoleprint("on_itemmousedown> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_itemmousedown> nRow = " + nRow); factory.consoleprint("on_itemmousedown> nColumn = " + nColumn); } /** * 그리드 아이템 더블클릭 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nClickRow 그리드 행 인덱스 (Zero-Based) * @param {number} nClickColumn 그리드 열 인덱스 (Zero-Based) * @param {boolean} bBtnClick 아이템 input_type이 데이트피커/콤보박스/스핀넘버인 경우, 버튼 클릭 여부 * @param {number} nImgIndex 아이템 input_type이 image인 경우, 클릭한 이미지 인덱스 * @param {string} strImgUrl 아이템 input_type이 image인 경우, 클릭한 이미지 URL */ function grd_on_itemdblclick(objInst, nDblClickRow, nDblClickColumn, bBtnClick, nImgIndex, strImgUrl) { factory.consoleprint("on_itemdblclick> Start"); factory.consoleprint("on_itemdblclick> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_itemdblclick> nDblClickRow = " + nDblClickRow); factory.consoleprint("on_itemdblclick> nDblClickColumn = " + nDblClickColumn); factory.consoleprint("on_itemdblclick> bBtnClick = " + bBtnClick); factory.consoleprint("on_itemdblclick> nImgIndex = " + nImgIndex); factory.consoleprint("on_itemdblclick> strImgUrl = " + strImgUrl); } /** * 그리드 아이템내 버튼 클릭 이벤트 * 그리드 컬럼/아이템 유형(input_type)이 버튼인 경우, * 아이템의 editable 상태가 true인 경우에만 이벤트가 발생한다. * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nClickRow 그리드 행 인덱스 (Zero-Based) * @param {number} nClickColumn 그리드 열 인덱스 (Zero-Based) */ function grd_on_itembtnclick(objInst, nClickRow, nClickColumn) { factory.consoleprint("on_itembtnclick> Start"); factory.consoleprint("on_itembtnclick> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_itembtnclick> nClickRow = " + nClickRow); factory.consoleprint("on_itembtnclick> nClickColumn = " + nClickColumn); } /** * 그리드 아이템내 팝버튼 클릭 이벤트 * 그리드 컬럼/아이템의 editbox_popbtnshow 속성이 true인 경우, * 아이템의 editable 상태가 true인 경우에만 이벤트가 발생한다. * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nClickRow 그리드 행 인덱스 (Zero-Based) * @param {number} nClickColumn 그리드 열 인덱스 (Zero-Based) * @param {string} strItemText 아이템 텍스트 (패턴 미포함) */ function grd_on_itempopbtnclick(objInst, nClickRow, nClickColumn, strItemText) { factory.consoleprint("on_itempopbtnclick> Start"); factory.consoleprint("on_itempopbtnclick> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_itempopbtnclick> nClickRow = " + nClickRow); factory.consoleprint("on_itempopbtnclick> nClickColumn = " + nClickColumn); factory.consoleprint("on_itempopbtnclick> strItemText = " + strItemText); } /** * 그리드 아이템 값 변경 진행 이벤트 * 그리드 아이템 편집 상태에서 값 변경 진행시 이벤트가 발생한다. * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nRow 그리드 행 인덱스 (Zero-Based) * @param {number} nColumn 그리드 열 인덱스 (Zero-Based) * @param {string} strEditingText 편집중 아이템 텍스트 */ function grd_on_itemvaluechange(objInst, nRow, nColumn, strEditingText) { factory.consoleprint("on_itemvaluechange> Start"); factory.consoleprint("on_itemvaluechange> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_itemvaluechange> nRow = " + nRow); factory.consoleprint("on_itemvaluechange> nColumn = " + nColumn); factory.consoleprint("on_itemvaluechange> strEditingText = " + strEditingText); } /** * 그리드 아이템 값 변경 완료 이벤트 * 그리드 아이템 값 변경 완료시 이벤트가 발생한다. * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nRow 그리드 행 인덱스 (Zero-Based) * @param {number} nColumn 그리드 열 인덱스 (Zero-Based) * @param {string} strPrevItemText 변경전 아이템 텍스트 * @param {string} strItemText 변경후 아이템 텍스트 */ function grd_on_itemvaluechanged(objInst, nRow, nColumn, strPrevItemText, strItemText) { factory.consoleprint("on_itemvaluechanged> Start"); factory.consoleprint("on_itemvaluechanged> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_itemvaluechanged> nRow = " + nRow); factory.consoleprint("on_itemvaluechanged> nColumn = " + nColumn); factory.consoleprint("on_itemvaluechanged> strPrevItemText = " + strPrevItemText); factory.consoleprint("on_itemvaluechanged> strItemText = " + strItemText); } /** * 그리드 아이템 편집 완료전 이벤트 * 그리드 아이템 편집 완료전에 이벤트가 발생한다. * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nRow 그리드 행 인덱스 (Zero-Based) * @param {number} nColumn 그리드 열 인덱스 (Zero-Based) * @param {string} strItemText 아이템 텍스트 * * @returns {number} 편집 완료 처리 방식 * 0 - 편집 완료 처리를 수행하지 않고, 편집 상태 유지 * 1 - 편집 완료하고, 다음 편집 가능한 아이템으로 이동 (기본값) * 2 - 편집 완료하고, 다음 편집 가능한 아이템으로 이동하지 않음 */ function grd_on_itemeditvalidation(objInst, nRow, nColumn, strItemText) { factory.consoleprint("on_itemeditvalidation> Start"); factory.consoleprint("on_itemeditvalidation> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_itemeditvalidation> nRow = " + nRow); factory.consoleprint("on_itemeditvalidation> nColumn = " + nColumn); factory.consoleprint("on_itemeditvalidation> strItemText = " + strItemText); return 1; } /** * 그리드 헤더부 체크박스 클릭 이벤트 * 그리드 헤더부 checkbox_show 속성이 true인 경우에 체크박스가 표시되며, * 그리드 헤더부 체크박스가 활성화 상태에서 사용자가 체크박스 클릭시 이벤트가 발생한다. * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nHeaderRow 그리드 헤더행 인덱스 (Zero-Based) * @param {number} nHeaderCol 그리드 헤더열 인덱스 (Zero-Based) * @param {string} bChecked 헤더 체크박스 체크 상태 */ function grd_on_headercheckclick(objInst, nHeaderRow, nHeaderCol, bChecked) { factory.consoleprint("on_headercheckclick> Start"); factory.consoleprint("on_headercheckclick> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_headercheckclick> nRow = " + nRow); factory.consoleprint("on_headercheckclick> nColumn = " + nColumn); factory.consoleprint("on_headercheckclick> strItemText = " + strItemText); } /** * 그리드 헤더부 마우스 우측버튼 클릭 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nHeaderRow 그리드 헤더행 인덱스 (Zero-Based) * @param {number} nHeaderCol 그리드 헤더열 인덱스 (Zero-Based) */ function grd_on_headerrclick(objInst, nHeaderRow, nHeaderCol) { factory.consoleprint("on_headerrclick> Start"); factory.consoleprint("on_headerrclick> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_headerrclick> nRow = " + nRow); factory.consoleprint("on_headerrclick> nColumn = " + nColumn); } /** * 그리드 통계행/통계열 아이템 클릭 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nStatRowFlag 그리드 통계행 플래그 (0 - 데이터행, 1 - 통계행) * @param {number} nStatColumnFlag 그리드 통계열 플래그 (0 - 데이터행, 1 - 통계열) * @param {number} nRow 그리드 통계행 인덱스 (Zero-Based) * @param {number} nColumn 그리드 통계열 인덱스 (Zero-Based) */ function grd_on_statitemclick(objInst, nStatRowFlag, nStatColumnFlag, nRow, nColumn) { factory.consoleprint("on_statitemclick> Start"); factory.consoleprint("on_statitemclick> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_statitemclick> nStatRowFlag = " + nStatRowFlag); factory.consoleprint("on_statitemclick> nStatColumnFlag = " + nStatColumnFlag); factory.consoleprint("on_statitemclick> nRow = " + nRow); factory.consoleprint("on_statitemclick> nColumn = " + nColumn); } /** * 그리드 통계행/통계열 아이템 더블클릭 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nStatRowFlag 그리드 통계행 플래그 (0 - 데이터행, 1 - 통계행) * @param {number} nStatColumnFlag 그리드 통계열 플래그 (0 - 데이터행, 1 - 통계열) * @param {number} nRow 그리드 통계행 인덱스 (Zero-Based) * @param {number} nColumn 그리드 통계열 인덱스 (Zero-Based) */ function grd_on_statitemdblclick(objInst, nStatRowFlag, nStatColumnFlag, nRow, nColumn) { factory.consoleprint("on_statitemdblclick> Start"); factory.consoleprint("on_statitemdblclick> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_statitemdblclick> nStatRowFlag = " + nStatRowFlag); factory.consoleprint("on_statitemdblclick> nStatColumnFlag = " + nStatColumnFlag); factory.consoleprint("on_statitemdblclick> nRow = " + nRow); factory.consoleprint("on_statitemdblclick> nColumn = " + nColumn); } /** * 그리드 체크로우열 체크 클릭 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nRow 그리드 행 인덱스 (Zero-Based) * @param {number} bCheckedRow 체크 상태 */ function grd_on_checkrowclick(objInst, nRow, bCheckedRow) { factory.consoleprint("on_checkrowclick> Start"); factory.consoleprint("on_checkrowclick> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_checkrowclick> nRow = " + nRow); factory.consoleprint("on_checkrowclick> bCheckedRow = " + bCheckedRow); } /** * 그리드 체크로우열 상태 변경 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nRow 그리드 행 인덱스 (Zero-Based) * @param {number} nCheckState 체크 상태 (0 - 미체크, 1 - 체크, 2 - 부분 체크) */ function grd_on_checkrowchange(objInst, nRow, nCheckState) { factory.consoleprint("on_checkrowchange> Start"); factory.consoleprint("on_checkrowchange> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_checkrowchange> nRow = " + nRow); factory.consoleprint("on_checkrowchange> nCheckState = " + nCheckState); } /** * 그리드 마우스 우측 버튼 클릭 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nXPoint 그리드 기준의 x좌표 * @param {number} nYPoint 그리드 기준의 y좌표 * @param {number} nPageXPoint 페이지 기준의 x좌표 * @param {number} nPageYPoint 페이지 기준의 y좌표 */ function grd_on_rclick(objInst, nXPoint, nYPoint, nPageXPoint, nPageYPoint) { var mouse_event_pos_info; factory.consoleprint("on_rclick> Start"); factory.consoleprint("on_rclick> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_rclick> nXPoint = " + nXPoint); factory.consoleprint("on_rclick> nYPoint = " + nYPoint); factory.consoleprint("on_rclick> nPageXPoint = " + nPageXPoint); factory.consoleprint("on_rclick> nPageYPoint = " + nPageYPoint); // mouse_event_pos_info 정보에 대한 자세한 내용은 getmouseeventpos API 도움말 참조 mouse_event_pos_info = factory.getmouseeventpos(); } /** * 그리드 마우스 진입 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 */ function grd_on_mousein(objInst) { var mouse_event_pos_info; factory.consoleprint("on_mousein> Start"); factory.consoleprint("on_mousein> Grid Object Name = " + objInst.getname()); // mouse_event_pos_info 정보에 대한 자세한 내용은 getmouseeventpos API 도움말 참조 mouse_event_pos_info = factory.getmouseeventpos(); } /** * 그리드 마우스 진출 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 */ function grd_on_mouseout(objInst) { var mouse_event_pos_info; factory.consoleprint("on_mouseout> Start"); factory.consoleprint("on_mouseout> Grid Object Name = " + objInst.getname()); // mouse_event_pos_info 정보에 대한 자세한 내용은 getmouseeventpos API 도움말 참조 mouse_event_pos_info = factory.getmouseeventpos(); } /** * 그리드 마우스 다운 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 */ function grd_on_mousedown(objInst) { var mouse_event_pos_info; factory.consoleprint("on_mousedown> Start"); factory.consoleprint("on_mousedown> Grid Object Name = " + objInst.getname()); // mouse_event_pos_info 정보에 대한 자세한 내용은 getmouseeventpos API 도움말 참조 mouse_event_pos_info = factory.getmouseeventpos(); } /** * 그리드 마우스 클릭 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 */ function grd_on_click(objInst) { var mouse_event_pos_info; factory.consoleprint("on_click> Start"); factory.consoleprint("on_click> Grid Object Name = " + objInst.getname()); // mouse_event_pos_info 정보에 대한 자세한 내용은 getmouseeventpos API 도움말 참조 mouse_event_pos_info = factory.getmouseeventpos(); } /** * 그리드 블럭 선택 완료 이벤트 * 그리드 use_selectblock 속성이 true인 경우, 사용자가 블럭 선택시 이벤트가 발생한다. * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nSelectStat 그리드 블럭선택 상태 (1 - 고정값) * @param {number} nStartRow 그리드 블럭선택 시작 행 인덱스 (Zero-Based) * @param {number} nStartColumn 그리드 블럭선택 시작 열 인덱스 (Zero-Based) * @param {number} nEndRow 그리드 블럭선택 종료 행 인덱스 (Zero-Based) * @param {number} nEndColumn 그리드 블럭선택 종료 열 인덱스 (Zero-Based) * @param {number} nSumValue 블럭선택된 아이템의 합계값 * @param {number} nAvgValue 블럭선택된 아이템의 평균값 * @param {number} nCount 블럭선택된 아이템의 갯수 * @param {number} nMinValue 블럭선택된 아이템의 최소값 * @param {number} nMaxValue 블럭선택된 아이템의 최대값 */ function grd_on_selectblock(objInst, nSelectStat, nStartRow, nStartColumn, nEndRow, nEndColumn, nSumValue, nAvgValue, nCount, nMinValue, nMaxValue) { factory.consoleprint("on_selectblock> Start"); factory.consoleprint("on_selectblock> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_selectblock> nSelectStat = " + nSelectStat); factory.consoleprint("on_selectblock> nStartRow = " + nStartRow); factory.consoleprint("on_selectblock> nStartColumn = " + nStartColumn); factory.consoleprint("on_selectblock> nEndRow = " + nEndRow); factory.consoleprint("on_selectblock> nEndColumn = " + nEndColumn); factory.consoleprint("on_selectblock> nSumValue = " + nSumValue); factory.consoleprint("on_selectblock> nAvgValue = " + nAvgValue); factory.consoleprint("on_selectblock> nCount = " + nCount); factory.consoleprint("on_selectblock> nMinValue = " + nMinValue); factory.consoleprint("on_selectblock> nMaxValue = " + nMaxValue); } /** * 그리드 정렬 완료 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nSortStartTime 그리드 정렬 시작 시간 */ function grd_on_sortcomplete(objInst, nSortStartTime) { var sort_end_time; sort_end_time = factory.gettickcount(); factory.consoleprint("on_sortcomplete> Start"); factory.consoleprint("on_sortcomplete> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_sortcomplete> nSortStartTime = " + nSortStartTime); factory.consoleprint("on_sortcomplete> nSortEndTime = " + sort_end_time); factory.consoleprint("on_sortcomplete> nSortTime = " + (sort_end_time - nSortStartTime)); } /** * 그리드 필터 완료 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 */ function grd_on_filtercomplete(objInst) { factory.consoleprint("on_filtercomplete> Start"); factory.consoleprint("on_filtercomplete> Grid Object Name = " + objInst.getname()); } /** * 그리드 파일 로드 시작 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {string} strFileName 파일 이름 */ function grd_on_fileloadstart(objInst, strFileName) { factory.consoleprint("on_fileloadstart> Start"); factory.consoleprint("on_fileloadstart> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_fileloadstart> strFileName = " + strFileName); } /** * 그리드 파일 로드 완료 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {string} nResult 파일 로드 정상 처리 여부 (0: 오류, 1:정상) * @param {string} strCode 에러 코드 * @param {string} strMsg 에러 메시지 * @param {number} nLoadStartTime 파일 로드 시작 시간 * @param {number} nStartRowIndex 로드 시작 행 인덱스 * @param {number} nEndRowIndex 로드 종료 행 인덱스 */ function grd_on_fileload(objInst, nResult, strCode, strMsg, strFileName, nLoadStartTime, nStartRowIndex, nEndRowIndex) { var load_end_time; load_end_time = factory.gettickcount(); factory.consoleprint("on_fileload> Start"); factory.consoleprint("on_fileload> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_fileload> nResult = " + nResult); factory.consoleprint("on_fileload> strCode = " + strCode); factory.consoleprint("on_fileload> strMsg = " + strMsg); factory.consoleprint("on_fileload> nLoadStartTime = " + nLoadStartTime); factory.consoleprint("on_fileload> nStartRowIndex = " + nStartRowIndex); factory.consoleprint("on_fileload> nEndRowIndex = " + nEndRowIndex); factory.consoleprint("on_fileload> nLoadEndTime = " + load_end_time); factory.consoleprint("on_fileload> nLoadTime = " + (load_end_time - nLoadStartTime)); } /** * 그리드 파일 저장 시작 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {string} strFileName 파일 이름 */ function grd_on_filesavestart(objInst, strFileName) { factory.consoleprint("on_filesavestart> Start"); factory.consoleprint("on_filesavestart> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_filesavestart> strFileName = " + strFileName); } /** * 그리드 파일 저장 완료 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {string} nResult 파일 저장 결과 코드 (1이면 정상, 그외는 오류) * @param {string} strCode 에러 코드 * @param {string} strMsg 에러 메시지 * @param {number} strFileName 파일 이름 * @param {number} nSaveStartTime 파일 저장 시작 시각 * @param {number} nSaveEndTime 파일 저장 완료 시각 */ function grd_on_filesave(objInst, nResult, strCode, strMsg, strFileName, nSaveStartTime, nSaveEndTime) { factory.consoleprint("on_filesave> Start"); factory.consoleprint("on_filesave> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_filesave> nResult = " + nResult); factory.consoleprint("on_filesave> strCode = " + strCode); factory.consoleprint("on_filesave> strMsg = " + strMsg); factory.consoleprint("on_filesave> nSaveStartTime = " + nSaveStartTime); factory.consoleprint("on_filesave> nSaveEndTime = " + nSaveEndTime); factory.consoleprint("on_filesave> nSaveTime = " + (nSaveEndTime - nSaveStartTime)); } /** * 그리드 컨텍스트 메뉴 표시 전 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * * @returns {number} 표시 처리 방식 * 1 - 컨텍스트 표시 처리 (기본값) * 그외 - 컨텍스트 메뉴를 표시하지 않음 */ function grd_on_precontextmenu(objInst) { factory.consoleprint("on_precontextmenu> Start"); factory.consoleprint("on_precontextmenu> Grid Object Name = " + objInst.getname()); return 1; } /** * 그리드 컬럼 너비 변경 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nColumn 그리드 열 인덱스 (Zero-Based) */ function grd_on_columnwidthchange(objInst, nColumn) { factory.consoleprint("on_columnwidthchange> Start"); factory.consoleprint("on_columnwidthchange> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_columnwidthchange> nColumn = " + nColumn); } /** * 그리드 컬럼 위치 이동 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nSrcColumn 그리드 이동 소스 열 인덱스 (Zero-Based) * @param {number} nDstColumn 그리드 이동 대상 열 인덱스 (Zero-Based) */ function grd_on_columnmove(objInst, nSrcColumn, nDstColumn) { factory.consoleprint("on_columnmove> Start"); factory.consoleprint("on_columnmove> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_columnmove> nSrcColumn = " + nSrcColumn); factory.consoleprint("on_columnmove> nDstColumn = " + nDstColumn); } /** * 그리드 값 붙여넣기 처리 전 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {string} strPasteValue 붙여넣기 값 문자열 * @param {number} nRow 그리드 붙여넣기 위치 행 인덱스 (Zero-Based) * @param {number} nColumn 그리드 붙여넣기 위치 열 인덱스 (Zero-Based) * * @returns {number} 표시 처리 방식 * 1 - 붙여넣기 수행 (기본값) * 0 - 붙여넣기를 수행하지 않음 */ function grd_on_paste(objInst, strPasteValue, nRow, nColumn) { factory.consoleprint("on_paste> Start"); factory.consoleprint("on_paste> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_paste> strPasteValue = " + strPasteValue); factory.consoleprint("on_paste> nRow = " + nRow); factory.consoleprint("on_paste> nColumn = " + nColumn); return 1; } /** * 그리드 값 붙여넣기 처리 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nRow 그리드 붙여넣기 위치 행 인덱스 (Zero-Based) * @param {number} nColumn 그리드 붙여넣기 위치 열 인덱스 (Zero-Based) * @param {boolean} bLastPaste 마지막 붙여넣기 아이템 여부 */ function grd_on_pastecomplete(objInst, strPasteValue, nRow, nColumn, bLastPaste) { factory.consoleprint("on_pastecomplete> Start"); factory.consoleprint("on_pastecomplete> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_pastecomplete> nRow = " + nRow); factory.consoleprint("on_pastecomplete> nColumn = " + nColumn); factory.consoleprint("on_pastecomplete> bLastPaste = " + bLastPaste); } /** * 그리드 포커스인 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 */ function grd_on_focusin(objInst) { factory.consoleprint("on_focusin> Start"); factory.consoleprint("on_focusin> Grid Object Name = " + objInst.getname()); } /** * 그리드 포커스아웃 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 */ function grd_on_focusout(objInst) { factory.consoleprint("on_focusout> Start"); factory.consoleprint("on_focusout> Grid Object Name = " + objInst.getname()); } /** * 그리드 아이템값 검증 이벤트 * 그리드 아이템값 검증 필요시(화면의 checktranmapinputdata 함수 호출에 의해서) 이벤트가 발생한다. * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nRow 그리드 행 인덱스 (Zero-Based) * @param {number} nColumn 그리드 열 인덱스 (Zero-Based) * @param {string} strItemText 그리드 아이템 텍스트 * * @returns {number} 값 유효 유형 * 1 - 값이 유효함 (기본값) * 0 - 값이 유효하지 않음 */ function grd_on_validation(objInst, nRow, nColumn, strItemText) { factory.consoleprint("on_validation> Start"); factory.consoleprint("on_validation> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_validation> nRow = " + nRow); factory.consoleprint("on_validation> nColumn = " + nColumn); factory.consoleprint("on_validation> strItemText = " + strItemText); return 1; } /** * 그리드 수직 스크롤 이동 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nScrollPos 그리드 스크롤 위치 (Zero-Based) * @param {number} nPrevScrollPos 그리드 이전 스크롤 위치 (Zero-Based) * @param {number} nSBCode 스크롤 이동 유형 코드 * @param {string} bSBMax 그리드 맨 아래로 이동 여부 */ function grd_on_vscroll(objInst, nScrollPos, nPrevScrollPos, nSBCode, bSBMax) { factory.consoleprint("on_vscroll> Start"); factory.consoleprint("on_vscroll> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_vscroll> nScrollPos = " + nScrollPos); factory.consoleprint("on_vscroll> nPrevScrollPos = " + nPrevScrollPos); factory.consoleprint("on_vscroll> nSBCode = " + nSBCode); factory.consoleprint("on_vscroll> bSBMax = " + bSBMax); } /** * 그리드 수평 스크롤 이동 이벤트 * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {number} nScrollPos 그리드 스크롤 위치 (Zero-Based) * @param {number} nPrevScrollPos 그리드 이전 스크롤 위치 (Zero-Based) * @param {number} nSBCode 그리드 이동 유형 코드 * @param {string} bSBMax 그리드 맨 우측으로 이동 여부 */ function grd_on_hscroll(objInst, nScrollPos, nPrevScrollPos, nSBCode, bSBMax) { factory.consoleprint("on_hscroll> Start"); factory.consoleprint("on_hscroll> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_hscroll> nScrollPos = " + nScrollPos); factory.consoleprint("on_hscroll> nPrevScrollPos = " + nPrevScrollPos); factory.consoleprint("on_hscroll> nSBCode = " + nSBCode); factory.consoleprint("on_hscroll> bSBMax = " + bSBMax); } /** * 그리드 파일 드롭 이벤트 * 그리드 accept_dropfiles 속성이 true인 경우에, * 윈도우 탐색기에서 파일을 드래그하여 드랍시 이벤트가 발생한다. * * @param {Object} objInst 그리드 컴포넌트 인스턴스 * @param {Array} arrayDropFiles 드랍한 HTML File 오브젝트 배열 * @param {number} nDropFileCount 드랍한 파일 갯수 */ function grd_on_dropfiles(objInst, arrayDropFiles, nDropFileCount) { var i; factory.consoleprint("on_dropfiles> Start"); factory.consoleprint("on_dropfiles> Grid Object Name = " + objInst.getname()); factory.consoleprint("on_dropfiles> nDropFileCount = " + nDropFileCount); for (i = 0; i < nDropFileCount; i++) { factory.consoleprint("on_dropfiles> " + i + " : " + arrayDropFiles[i].name); } } ////////////////////////////////////////////////////////////////////////////////// // 그리드 관련 이벤트 끝 ////////////////////////////////////////////////////////////////////////////////// function btn_test_on_mouseup(objInst) { grd.setitemtext(0, 0, grd.getitemtext(0, 0) + "_1"); }