열의 각종 속성(
CanEdit, TextColor등)을Formula를 통해 설정할 수 있습니다.
가령CanEdit, Color등과 같은 속성을Formula로 지정하여 설정한다는 것은 다음과 같이 선언될 수 있습니다.options.Cols = [ {Type:"Text", Name:"Total", CanEditFormula:"CHK==1&&AMT>10?1:0", ColorFormula:"Value>10000 ? '#FF0000':'#FFFF00'", FormatFormula:function(param){ if(param.Row["SaupJuminNo"].length == 10){ return "###-##-#####"; }else{ return "######-#######"; } } } ];※매우중요
- 모든 포뮬러 기능을 사용시에는 (row)CanFormula가 1로 설정되어야 동작합니다.
attribute+Formula사용시에는 반드시 (row)CalcOrder에열이름+기능명형식으로 포뮬러별 계산 순서가 정의되어야 합니다.
가령 "A"열에 대해CanEdit속성 포뮬러를 설정하고 "B"열에 대해Color속성 포뮬러를 설정했다면, CalcOrder에는 "ACanEdit, BColor"로 명시하면 됩니다.
mixed( function | string )
| Value | Description |
|---|---|
string |
열이름을 기준으로 한 계산 로직 (ex: "sCount \* sPrice - ( Discount \* Rate ) \* 1.24") |
function |
별도 함수를 통해 계산 가능(함수 내에서는 Sheet,Row,Col,Attr 예약어를 통해 접근 가능) |
// formula 사용시 CanFormula:1이 설정 되어야 하고, attribute+Formula사용시에는 CalcOrder도 설정되어야 함
options.Def.Row = {
CanFormula: 1,
CalcOrder: "yearSumColor,rateCanEdit" // 열이름 간에 띄어쓰지말고 전부 붙여쓰셔야 합니다.
};
options.Cols = [
...
{Type: "Bool" Name: "CHK"},
// 해당 열의 값이 100보다 큰 경우 붉은색 그렇지 않은 경우 옅은노란색으로 배경색이 자동 변경
{Type: "Int", Name: "yearSum",
ColorFormula:function(fr){
return fr.Value>100?'#FF0000':'#FFFFAA';
}
},
// CHK 열이 체크되어있고, yearSum열의 값이 150보다 큰 경우에만 편집이 가능
{Type: "Float", Name: "rate",
CanEditFormula:function(fr) {
if (fr.Row["CHK"] == 1 && fr.Row["yearSum"] > 150)
return true;
else
return false;
}
},
...
];
| product | version | desc |
|---|---|---|
| core | 8.0.0.0 | 기능 추가 |