사용자가 헤더 전체 체크박스를 클릭해 전체 체크/체크해제할 때 각 행에서
onAfterChange이벤트 발생 여부를 설정합니다.
행이 많은 시트에서 전체 체크 시 행마다onAfterChange가 호출되어 속도가 저하될 수 있는데,1로 설정하면 이벤트가 발생하지 않아 성능이 개선됩니다.
전체 체크 완료 시점에 처리가 필요하면 onCheckAllFinish 이벤트를 사용하세요.
setAllCheck 메서드 호출 시에는 이 속성이 적용되지 않으므로, 이벤트를 차단하려면setAllCheck의ignoreEvent인자를true로 지정해야 합니다.
boolean
| Value | Description |
|---|---|
0(false) |
onAfterChange 이벤트가 발생합니다. (default) |
1(true) |
onAfterChange 이벤트가 발생하지 않습니다. |
// onAfterChange에서 행 색상 변경 등 무거운 로직이 있을 때
// 데이터가 많으면 행마다 호출되어 속도 저하 발생
options.Cols = [
// AllCheckIgnoreEvent:1 → 전체 체크 시 onAfterChange 발생하지 않음
{Header: {Value: "주관부서", HeaderCheck: 1}, Type: "Bool", Width: 80, Align: "Center", Name: "ORG_NM", AllCheckIgnoreEvent: 1}
];
options.Events = {
// 개별 체크 시에만 호출됨 (전체 체크 시 차단)
onAfterChange: function(evtParam) {
if (evtParam.col === "ORG_NM") {
var color = evtParam.val ? "#FFFFCC" : "";
evtParam.sheet.setAttribute(evtParam.row, null, "Color", color);
}
},
// 전체 체크 완료 시점에 일괄 처리
onCheckAllFinish: function(evtParam) {
var rows = evtParam.sheet.getDataRows();
for (var i = 0; i < rows.length; i++) {
var color = rows[i]["ORG_NM"] ? "#FFFFCC" : "";
evtParam.sheet.setAttribute(rows[i], null, "Color", color, 0);
}
evtParam.sheet.rerender();
}
};
| product | version | desc |
|---|---|---|
| core | 8.0.0.15 | 기능 추가 |