지정한 특정 셀에 포커스를 줍니다.
row,col중 적어도 하나는 지정해야 합니다 (둘 다 생략 시null반환).
시트 외부에 버튼을 클릭함으로써 포커스를 설정하고자 하는 경우에는setTimeout을 통해 딜레이를 주어야 합니다.
boolean focus( row, col, pagepos, ignoreEvent, triggerOnFocus, skipSheetFocus );
| Name | Type | Required | Description |
|---|---|---|---|
| row | object |
선택 | 데이터 로우 객체 생략 또는 "", null 전달 시 현재 포커스된 행 사용 (포커스된 행이 없으면 보이는 첫 행) |
| col | string |
선택 | 열이름 생략 또는 "", null 전달 시 행의 첫 번째 컬럼 사용 |
| pagepos | number |
선택 | 서버페이징 사용시 페이지 지정 (default: null) |
| ignoreEvent | boolean |
선택 | 함수 호출시 focus Event(onBeforeFocus, onFocus)를 발생시킬지 유무0(false):focus Event 발생 시킴 (default)1(true):focus Event를 발생 시키지 않음 |
| triggerOnFocus | boolean |
선택 | 이미 선택한 셀을 다시 선택하는 함수 호출시 focus Event(onBeforeFocus, onFocus)를 항상 발생시킵니다.0(false):이미 선택된 셀을 함수로 다시 포커스 하였을 때, focus Event를 발생 시키지 않음 (default)1(true):이미 선택된 셀을 함수로 다시 포커스 하였을 때, focus Event 를 발생 시킴 |
| skipSheetFocus | boolean |
선택 | 셀 포커스는 이동하되 시트 자체에는 포커스를 주지 않을지 여부 외부 input 등에서 포커스를 유지한 채 시트 내부 셀만 이동하고자 할 때 사용합니다. IgnoreFocused 2와 유사한 동작입니다.0(false):시트에 포커스 적용 (default)1(true):시트 자체 포커스는 생략, 셀 포커스만 이동 |
boolean : 포커스가 지정되면 true, 이미 포커스가 된 셀에 함수 적용시 false, 해당셀이 없는 경우 null 리턴
// 특정 행/열로 포커스
sheet.focus(sheet.getRowById("AR5"), "CARNO");
// 현재 포커스 행의 title 셀 (포커스가 없으면 보이는 첫 행의 title 셀)
sheet.focus("", "title");
// 특정 행의 첫 번째 셀로 (col 생략)
sheet.focus(sheet.getRowById("AR5"), "");
// 시트 외부 버튼 클릭에서 호출 시 setTimeout으로 딜레이 주는 패턴
document.getElementById("btn_validCheck").onclick = function() {
setTimeout(function() {
var errRow = sheet.getRowById("AR4");
sheet.focus(errRow, "CARNO");
}, 10);
};
// 외부 input의 포커스를 유지한 채 시트 셀 포커스만 이동
document.getElementById("searchInput").oninput = function() {
var row = sheet.getRowById("AR5");
sheet.focus(row, "CARNO", null, 0, 0, 1); // skipSheetFocus:1
};
| product | version | desc |
|---|---|---|
| core | 8.0.0.0 | 기능 추가 |
| core | 8.0.0.7 | ignoreEvent 인자 추가 |
| core | 8.1.0.94 | triggerOnFocus 인자 추가 |
| core | 8.4.0.4 | skipSheetFocus 인자 추가 |