====== 그리드 이벤트 가이드 ======
그리드 컴포넌트 이벤트에 대한 기본 기능 예시 화면이다.
관련 이벤트로 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");
}