AUIGantt 에서 송출되는 이벤트 리스트입니다.
Name | Description |
---|---|
addRow
| Type : Event 사용자가 Insert 키, Ctrl+Insert 키 또는 addRow(), addTreeRow() 를 통해 행을 추가(삽입)한 경우 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "addRow", function( event ) { alert(event.type + " 이벤트\r\n" + "\r\n삽입된 행 개수 : " + event.items.length); }); |
addRowFinish
| Type : Event 사용자가 Insert 키, Ctrl+Insert 키 또는 addRow(), addTreeRow() 를 통해 행을 추가(삽입)한 경우 발생하는 이벤트입니다. addRowFinish 이벤트와 addRow 이벤트의 차이는 다음과 같습니다.
즉, 새행에 선택자가 온 후 무엇인가를 하고 싶다면 addRowFinish 이벤트를 바인딩 하십시오. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "addRowFinish", function( event ) { alert(event.type + " 이벤트\r\n" + "\r\n삽입된 행 개수 : " + event.items.length); }); |
barClick
| Type : Event 간트 차트 바(bar) 클릭 시 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "barClick", function( event ) { alert("rowIndex : " + event.rowIndex + " bar clicked"); }); |
barContextMenu
| Type : Event Version: 3.6 [deprecated Ver 3.6.5] Also See : contextMenuBar |
barDoubleClick
| Type : Event Version: 3.6 간트 차트 바(bar) 더블 클릭 시 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "barDoubleClick", function( event ) { alert("rowIndex : " + event.rowIndex + " bar double clicked"); }); |
beforeInsertRow
| Type : Event 그리드에서 편집 가능(editable=true) 인 경우 Insert 또는 Ctrl+Insert 키 입력 시 새 행이 삽입됩니다. 이 때 새 행의 초기값을 결정 짓도록 삽입 전에 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "beforeInsertRow", function(event) { var newRow = {}; var cols = event.columnInfoList; var dataField; for(var i=0,len=cols.length; i<len; i++) { dataField = cols[i]["dataField"]; if(dataField == "name") { newRow[dataField] = "< New Task >"; } else { newRow[dataField] = ""; } } return newRow; }); Retrun : (Object) 새 행 아이템의 초기값을 담는 Object 를 반환하면 적용시킵니다. 만약 반환하지 않으면 빈 행이 출력됩니다. 주의 : addRow(), addTreeRow() 로 행을 추가할 때는 발생하지 않습니다. 즉, 사용자의 키보드 인터페이스 (Insert, Ctrl + Insert) 에 의해서만 발생합니다. |
beforeRemoveRow
| Type : Event 사용자가 Ctrl + Del 키 또는 removeRow() 또는 removeRow() 또는 removeRowByRowId() 함수를 통해 행을 삭제할 때 삭제 전에 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "beforeRemoveRow", function( event ) { alert(event.type + " 이벤트 : " + ", 삭제될 행 개수 : " + event.items.length + ", softRemoveRowMode : " + event.softRemoveRowMode); //return false; // 반환을 false 로 처리하면 삭제 실행을 취소함. }); Return : (Boolean) false 를 반환하면 삭제 처리를 하지 않습니다. 따라서 실제 삭제 전 확인 단계를 거칠 수 있습니다. |
cellClick
| Type : Event 간트 그리드 단일 셀 클릭 시 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "cellClick", function( event ) { alert("rowIndex : " + event.rowIndex + ", "columnIndex : " + event.columnIndex + " clicked"); }); |
cellDoubleClick
| Type : Event 단일 셀 더블클릭 시 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "cellDoubleClick", function( event ) { alert("rowIndex : " + event.rowIndex + ", "columnIndex : " + event.columnIndex + " dbl clicked"); }); |
contextMenu
| Type : Event Version: 3.6 그리드에서 마우스 오른쪽 버턴 즉, 컨텍스트 메뉴를 활성화 했을 경우 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "contextMenu", function (event) { // 간트 그리드 컨텍스트 메뉴 아이템들 var contextMenuItems = [{ label: "$value (커스텀)", style: "my-context-item-value", callback: contextGridItemHandler // label 에 $value 를 설정하면 마우스가 있는 곳의 value 값으로 대체됩니다. }, { label: "_$line" // label 에 _$line 을 설정하면 라인을 긋는 아이템으로 인식합니다. }, { label: "Export To Excel", style: "my-context-item-export", callback: contextGridItemHandler }]; return contextMenuItems; });
Return : (Boolean or Array) false 를 반환하면 기본 행위인 기본 컨텍스트를 출력시키지 않습니다. 사용자 정의 컨텍스트 메뉴를 Array 로 구성하여 반환하면 동적 컨텍스트 메뉴를 구성합니다. |
contextMenuBar
| Type : Event Version: 3.6.5 간트 차트 바(bar)에서 마우스 오른쪽 버턴 즉, 컨텍스트 메뉴를 활성화 했을 경우 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "contextMenuBar", function (event) { // 간트 차트 바 컨텍스트 메뉴 아이템들 var contextMenuItems = [{ label: "$value (커스텀)", style: "my-context-item-value", callback: contextBarItemHandler // label 에 $value 를 설정하면 마우스가 있는 곳의 value 값으로 대체됩니다. }, { label: "색상 설정하기", callback: contextBarItemHandler // label 에 $value 를 설정하면 마우스가 있는 곳의 value 값으로 대체됩니다. }, { label: "_$line" // label 에 _$line 을 설정하면 라인을 긋는 아이템으로 인식합니다. }, { label: "Export To Excel", style: "my-context-item-export", callback: contextBarItemHandler }]; return contextMenuItems; });
Return : (Boolean or Array) false 를 반환하면 기본 행위인 기본 컨텍스트를 출력시키지 않습니다. 사용자 정의 컨텍스트 메뉴를 Array 로 구성하여 반환하면 동적 컨텍스트 메뉴를 구성합니다. |
docDirty
| Type : Event 간트 차트의 문서가 사용자의 수정, 편집 등에 의해 변경된 경우 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "docDirty", function(event) { console.log("문서가 변경됨."); }); |
editCellCondition
| Type : Event Version: 3.5 간트 그리드에서 편집, 수정 모드에서 셀 편집(수정)을 동적으로 결정하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "editCellCondition", function( event ) { alert("rowIndex : " + event.rowIndex + ", "columnIndex : " + event.columnIndex + " editCellCondition"); // return false; // false, true 반환으로 동적으로 수정, 편집 제어 }); Return : (Boolean) false 를 반환하면 편집, 수정을 못하도록 막습니다. 참고 : 해당 이벤트는 수정 가능한 경우, 사용자가 수정하려고 할 때만 발생합니다. |
editDragCondition
| Type : Event Version: 3.5 간트 차트에서 바(bar) 를 드래깅으로 편집(수정)을 동적으로 결정하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "editDragCondition", function( event ) { // 자원이 홍길동인 경우 또는 완료된 작업인 경우 드래깅 할 수 없음. if(event.item.resource == "홍길동" || event.item.progress == 100) { return false; // false 반환하면 드래깅 수정 불가임. } }); Return : (Boolean) false 를 반환하면 드래깅으로 수정을 못하도록 막습니다. 참고 : 해당 이벤트는 수정 가능한 경우, 사용자가 수정하려고 할 때만 발생합니다. |
filtering
| Type : Event 사용자가 필터링(Filtering)을 설정하거나 변경, 해제 시 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
만약 필터링이 name 필드 "Anna", "Lawrence" 만 출력하게 설정되었다면 다음과 같은 filterCache 정보를 담고 있습니다. { "name" : [ "Anna", "Lawrence" ] } 이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "filtering", function( event ) { for(var n in event.filterCache) { console.log( event.filterCache[n] ); } }); |
headerClick
| Type : Event 그리드 헤더 클릭 시 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "headerClick", function( event ) { alert(event.type + " : " + event.headerText + ", dataField : " + event.dataField + ", index : " + event.columnIndex + ", depth : " + event.item.depth); // 이벤트 핸들링 함수에서 false 를 반환하면 기본 행위를 하지 않음. // headerClick 의 기본 행위는 정렬임. // return false; // 정렬 실행 안함. }); Return : (Boolean) false 를 반환하면 기본 행위인 정렬을 실행하지 않습니다. |
hScrollChange
| Type : Event 그리드의 수평 스크롤(X 스크롤)이 있는 경우, 수평 스크롤의 값이 변경되었을 때 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "hScrollChange", function( event ) { console.log( event.type + ", position : " + event.position + ", (min : " + event.minPosition + ", max : " + event.maxPosition + ")" ); }); 주의 : 이 이벤트 핸들러에서 무리한 작업을 하면 그리드 스크롤링 시 성능이 저하됩니다. |
keyDown
| Type : Event 그리드에서 키보드를 누른 경우 발생하는 키다운(keyDown) 이벤트입니다. 그리드에서 특정 키는 미리 지정된 행위를 합니다.(예: 화살표 키-선택 이동, Insert 키-행 삽입 등) 이런 약속된 행위를 막고 사용자가 원하는 코드를 실행시킬 수 있습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "keyDown", function(event) { if(event.keyCode == 13) { // 엔터 키 alert("엔터 키 누름"); return false; // 선택 아래로 내리지 않음(즉, 기본행위 안함) } return true; }); Retrun : (Boolean) 만약 false 를 반환하면 그리드에 미리 지정된 행위를 하지 않습니다. 참고 : 그리드에 기본 단축키를 변경하거나 새로운 단축키를 추가할 수 있는 이벤트입니다. |
notFound
| Type : Event 사용자가 그리드의 특정 문자열을 검색(search) 하였을 때 문자열을 찾지 못할 경우 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "notFound", function( event ) { alert('다음 문자열을 찾을 수 없습니다 - "' + event.term + '"'); }); |
pasteBegin
| Type : Event 편집 가능 그리드에서 붙여넣기(Ctrl + V) 를 할 때 붙여넣기가 시작되는 경우 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "pasteBegin", function(event) { console.log("붙여 넣기 시작!!"); console.log(JSON.stringify(event.clipboardData)); // return false; // 붙여 넣기 안함(취소 시킴) }); Retrun : (Boolean) 만약 false 를 반환하면 기본 행위인 붙여 넣기를 하지 않습니다. |
pasteEnd
| Type : Event 편집 가능 그리드에서 붙여넣기(Ctrl + V) 를 할 때 붙여넣기가 완료된 경우 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "pasteEnd", function(event) { AUIGantt.setSelectionByIndex(0, 0); // 0, 0 으로 선택자 이동시킴. console.log("붙여 넣기 완료!!"); }); |
projectDateChange
| Type : Event 간트 차트의 전체 프로젝트의 시작 날짜가 변경된 경우 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "projectDateChange", function(event) { alert(event.startDate + ", " + event.endDate); }); |
ready
| Type : Event 간트차트 렌더링이 완료되고 사용자에 의해 접근 가능해진 경우 발생하는 이벤트입니다. 이 이벤트는 간트 차트 데이터가 변경되었을 때 다시 발생됩니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "ready", function(event) { alert(event.type); }); |
removeRow
| Type : Event 사용자가 Ctrl + Del 키 또는 removeRow() 또는 removeRowByRowId() 함수를 통해 행을 삭제한 경우 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "removeRow", function( event ) { alert(event.type + " 이벤트 : " + ", 삭제된 행 개수 : " + event.items.length + ", softRemoveRowMode : " + event.softRemoveRowMode); }); |
rowNumCellClick
| Type : Event 엑스트라 행 번호 칼럼을 클릭 했을 때 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "rowNumCellClick", function(event) { alert("eventType : " + event.type + "\r\nrowNum : " + event.rowNum + ", rowIndex : " + event.rowIndex); // false 반환하면 기본 행위 안함 return false; }); Retrun : (Boolean) 만약 false 를 반환하면 기본 행위인 행(또는 셀) 선택을 하지 않습니다. |
selectionChange
| Type : Event 셀 또는 행 선택이 변경되었을 때 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
selectedItems 는 배열이며, 배열의 개별 아이템에 대한 객체는 다음 요소를 갖습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "selectionChange", function( event ) { var selectedItems = event.selectedItems; if(selectedItems.length <= 0) return; // singleRow, singleCell 이 아닌 multiple 인 경우 선택된 개수 만큼 배열의 요소가 있음 var first = selectedItems[0]; // first 의 값을 보고자 한다면? first.value // first 의 행, 칼럼 인덱스를 보고자 한다면? first.rowIndex, first.columnIndex // first 의 행 아이템 전체를 보고자 한다면? first.item alert(first); }); |
sorting
| Type : Event 사용자가 정렬(Sorting)을 설정하거나 변경, 해제 시 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
만약 정렬을 "Name 오름차순, County 내림차순" 설정한 경우 다음과 같은 sortingFields 정보를 담고 있습니다. [ {dataField : "name", sortType : 1}, {dataField : "country", sortType : -1}] 이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "sorting", function( event ) { console.log( "이벤트명: " + event.type + ", 현재 소팅 필드 개수 : " + event.sortingFields.length ); }); |
timeUnitChange
| Type : Event 간트 다이어그램의 시간 단위가 변경된 경우 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "timeUnitChange", function(event) { alert(event.timeUnit); }); |
treeOpenChange
| Type : Event 트리 그리드 일 때 브랜치(branch) 아이템의 열기/닫기 상태 변경 시 발생하는 이벤트입니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
참고 : 전체 열기/닫기 (expandAll, collapseAll) 인 경우 event.item 은 null 입니다. 이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "treeOpenChange", function( event ) { alert(event.type + " : " + event.isOpen + ", rowIndex : " + event.rowIndex); }); |
vScrollChange
| Type : Event 그리드의 수직 스크롤(Y 스크롤)이 있는 경우, 수직 스크롤의 값이 변경되었을 때 발생하는 이벤트입니다. 사용자가 마우스 휠이나 다른 특정 행위로 수직 스크롤이 변경되면 발생합니다. 이벤트 핸들러로 전달되는 파라메터의 event 객체 요소는 다음과 같습니다.
이 이벤트를 핸들링하는 방법은 다음과 같습니다. AUIGantt.bind(myGanttID, "vScrollChange", function( event ) { console.log( event.type + ", position : " + event.position + ", (min : " + event.minPosition + ", max : " + event.maxPosition + ")" ); }); 주의 : 이 이벤트 핸들러에서 무리한 작업을 하면 그리드 스크롤링 시 성능이 저하됩니다. |