엑셀 수식과 같은 개념으로, 컬럼에 수식을 설정하면 모든 행에서 다른 컬럼의 값을 이용하여 셀 값을 자동 계산합니다.
함수 형태로 설정 시 반드시return값이 있어야 반영됩니다.
CanFormula가1로 설정되어야 동작하며, 계산 순서를 위해 CalcOrder를 정의해야 합니다.
조회되거나 연관된 열의 값이 편집에 의해 변경될 때 자동으로 계산됩니다.
자신의 컬럼값을 Formula로 수정하면 무한루프에 빠질 수 있으므로 권장하지 않습니다.
데이터에 따라 편집 제어, 색상 변경 등 셀의 속성을 수식으로 설정하려면 attribute+Formula (col), attribute+Formula (row)를 참고하세요.
mixed( function | string )
| Value | Description |
|---|---|
string |
컬럼명을 그대로 식에 사용하는 수식 문자열 (예: "qt1 + qt2 - discount * 0.1") |
function |
계산 결과를 return하는 함수. 인자(fr)로 현재 행/시트 정보 전달 — fr.Row[컬럼명]으로 값, fr.Sheet/fr.Col로 시트·컬럼명 접근 |
// function 형식 — yearSum이 먼저 계산되고 total이 그 결과를 참조
options.Def.Row = {CanFormula: 1, CalcOrder: "yearSum,total"};
options.Cols = [
{Type: "Int", Name: "qt1"},
{Type: "Int", Name: "qt2"},
{Type: "Int", Name: "yearSum",
Formula: function(fr) {
return fr.Row["qt1"] + fr.Row["qt2"];
}
},
{Type: "Float", Name: "rate"},
{Type: "Float", Name: "total",
Formula: function(fr) {
return fr.Row["yearSum"] * fr.Row["rate"];
}
}
];
// string 형식 — 컬럼명을 식에 그대로 사용 (간단한 계산에 적합)
{Type: "Int", Name: "yearSum", Formula: "qt1 + qt2"}
{Type: "Float", Name: "total", Formula: "yearSum * rate"}
// X — 자기 자신을 참조하면 무한루프
{Type: "Int", Name: "yearSum",
Formula: function(fr) {
return fr.Row["yearSum"] + fr.Row["qt2"]; // yearSum이 바뀌면 다시 Formula 실행 → 무한루프
}
}
| product | version | desc |
|---|---|---|
| core | 8.0.0.0 | 기능 추가 |