attribute+Formula (row)

행의 각종 속성(CanEdit, TextColor 등)을 Formula를 통해 설정할 수 있습니다.
가령 CanEdit나 Color 등과 같은 속성을 Formula로 지정하여 설정한다는 것은 다음과 같이 선언될 수 있습니다.

options.Def.Row = [
  {
      "CanFormula": true,      //formula를 쓰려면 항상 들어감.
      "CalcOrder": "Color",    //Color formula를 사용함.
      "ColorFormula": function (param) {
          //부서명이 "총무"이면 행 전체 배경색으로 노랑으로 표시한다.
          if (param.Row["DeptNm"] == "총무") {
              return "#FFFFDD";
          }
       }
  }
];

매우중요

  1. 모든 포뮬러 기능을 사용시에는 CanFormula row가 1로 설정되어야 동작합니다.
  2. attribute+Formula(row) 사용시에는 반드시 CalcOrder row속성명을 계산 순서대로 설정 해야 합니다.
    가령 CanEdit속성 포뮬러와 Color속성 포뮬러를 설정했다면, CalcOrder에는 "CanEdit, Color"로 명시하면 됩니다.

Type

function

Options

Value Description
Sheet 해당 시트 객체
Row formula가 동작할 행 객체
Attr formula를 적용할 속성(Color, CanEdit 등)

Example

//formula 사용시 CanFormula:1이 설정 되어야 하고, attribute+Formula 사용시에는 CalcOrder도 설정되어야 함
options.Def.Row = {
    CanFormula: 1,                //formula를 사용하려면 반드시 설정되어야 함.
    CalcOrder: "Color,CanEdit",  //적용할 속성을 순서대로 설정
    CanEditFormula: function (param) {
        //결산여부가 체크된 행에 대해서는 편집 불가
        if (param.Row["FinishedYN"]) {
            return 0;
        }
    },
    ColorFormula:function(param) {
        //부서가 회계인 경우 배경색을 "#FFFFDD"로 설정
        if(param.Row["DeptCd"] == "1B"){
            return "#FFFFDD";
        }
    }
};

options.Cols = [
    ...
    {Header:"결산완료 여부", Type:"Bool", Name:"FinishedYN"},
    {Header:"부서", Type:"Enum", Name:"DeptCd", Enum:"|총무|회계|인사|영업|개발", EnumKeys:"|2A|1B|C9|B4|D0"},
    ...
];

Read More

Since

product version desc
core 8.0.0.0 기능 추가