IBSheet8 객체 생성 시 Cols 속성에  FormulaRow을 통해 데이터 하단(혹은 상단)에 합계 행을 생성할 수 있습니다.


options.Cols = [
    // ...
    {  Type: "Int", Name: "qt", FormulaRow: "Sum", Width: 120  },
    {  Type: "Int", Name: "rate", FormulaRow: "Avg", Width: 120  },
];

합계행(FormulaRow)에는 합계 외에 다음과 같은 기본 계산이 허용됩니다.


valuedescription
FormulaRow:"Sum"열 전체 합계 값
FormulaRow:"Avg"열 전체 평균 값
FormualRow:"Max"열 전체 최대 값
FormualRow:"Min"열 전체 최소 값
FormulaRow:"Count"전체 행의 개수
FormulaRow: function(){ }사용자 정의 함수



합계행(FormulaRow)을 상단에 표시하고자 하는 경우에는 setFormulaRowPosition() 함수를 사용합니다.


필터링 기능 사용시, 필터링된 데이타에만  합계행(FormulaRow) 이 계산되어야 할때  FormulaRowNoFiltered  옵션을 사용하여 처리할 수 있습니다.


합계행(FormulaRow)에 합계나 평균이 아닌 특정 조건에 대한 계산 값을 표시하고자 할 때는 사용자 정의 함수를 사용할 수 있습니다.

//사용자 정의 함수
var myFunc = function(fr){
  var col = fr.Col;
  var rows = fr.Sheet.getDataRows();
  var sum = 0;
  for(var i=0;i<rows.length;i++){
    //CODE 컬럼의 값이 "Z" 인 행만 더한다.
    if( rows[i]["CODE"] == "Z" ) {
      sum += rows[i][col];
    }
  }
  return sum;  //반드시 return이 있어야 함
}

options.Cols = [
    // ...
    {  Type: "Int", Name: "qt", FormulaRow: myFunc, Width: 120  },
];

다음 예제를 참고해 주세요.

합계행 기능 추가