RealGrid2 가이드
헤더와 푸터
컬럼 푸터

컬럼 푸터

리얼그리드에서 컬럼별 합계를 구해서 표시하는 것은 간단한 일입니다. 컬럼 footer.expression에 통계값을 표시하는 expression을 지정하면 되는데, 그리드 summaryMode에 따라 expression에서 사용할 수 있는 값의 종류가 달라집니다.
그리드가 계산해서 제공하는 합계값이 정확하지 않거나 필요한 합산 식이 존재하지 않는 경우, valueCallback()을 사용해서 표시하게 할 수 있습니다.
또, GridBase.getSummary(field, summary) 함수를 호출해서 필드의 합계값을 가져올 수도 있습니다. field는 필드명이나 필드인덱스가 될 수 있습니다.
요약값으로 표시할 수 있는 타입은 avg, sum, count, min, max 등이 있으며 더 자세한 내용은 SummaryType에서 확인하세요.

컬럼 푸터

  • footer.visible: 그리드 하단에 footer를 표시합니다.
// 컬럼 설정시 합계 식 지정
gridView.setColumns([{
    ...
}, {
    name: "SaveCost",
    fieldName: "SaveCost",
    width: "80",
    numberFormat: "#,##0",
    header: {
      text: "납입금"
    },
    footer: {
      text: "합계 =>"
    },
    styleName: "right-column"
  },
  {
    name: "SaveMaturity",
    fieldName: "SaveMaturity",
    width: "80",
    numberFormat: "#,##0",
    header: {
      text: "만기금액"
    },
    footer: {
      text: "합계",
      expression: "sum",
    },
    styleName: "right-column"
  }, {
    ...
}];

footer와 같이 summary mode를 **"statistical"**로 지정해야 분산, 표준편차 값이 표시 됩니다.

gridView.setOptions({ summaryMode: "statistical" });
gridView.setOptions({ summaryMode: "aggregate" });

컬럼의 합계를 계산하지 않습니다.

gridView.setOptions({ summaryMode: "none" });

Help 사이트의 summary Mode참고 바랍니다.

컬럼 푸터 동적 계산

컬럼 푸터에 표시할 내용을 column.footer.valueCallback()에서 처리하여 원하는 값으로 표시 할 수 있습니다.

// 컬럼 설정시 합계 식 지정
gridView.setColumns([{
    ...
}, {
    name: "SaveMaturity",
    fieldName: "SaveMaturity",
    width: "80",
    numberFormat: "#,##0",
    header: {
      text: "만기금액"
    },
    footer: {
      numberFormat: "#,##0",
      styleName:"orange-column",
      valueCallback: function (grid, column, footerIndex, columnFooter, value){
        //아래 코드로 평균값을 간단하게 구할 수 있음
        //var avg = grid.getSummary("SaveMaturity", "avg");
        //별도로 계산한다면 아래와 같이 처리
        var sum = 0;
        var prod = grid.getDataSource();
        var cnt = prod.getRowCount();
 
        for (var i=0 ; i<cnt ; i++) {
          sum += prod.getValue(i, 'SaveMaturity');
        }
 
        return sum / cnt;  
      }
    },
    styleName: "right-column"
  }, {
    ...
}];

컬럼 푸터 여러 행 표시

푸터 요약을 여러 행으로 표시할 수 있습니다.
items에 필요한 푸터 갯수만큼 를 만드시면 됩니다.

  • options
gridView.setFooters({
  visible:true,
  items:[
    {
      //styleName: "orange-column",   //개별 css 스타일 적용 필요시
      height: 40
    }, 
    {
      height: 40
    }
  ]
});
  • columns
var columns = [{
    ...
}, {
  "name": "QuantityPerUnit",
  "fieldName": "QuantityPerUnit",
  "width": "100",
  "header": {
      "text": "Quantity / Unit",
      "styleName": "orange-column"
  },
  "footers": [{
    "text": "합계 ==>  ",
    "styleName": "orange-column"
  }, {
    "text": "평균 ==>  ",
    "styleName": "orange-column"
  }]
}, {
  "name": "Quantity",
  "fieldName": "Quantity",
  "width": "100",
  "header": {
      "text": "Quantity",
      "styleName": "orange-column"
    },
  "footers": [{
    "expression": "sum",
    "numberFormat": "#,##0.00",
    "styleName": "orange-column"
  }, {
    "expression": "avg",
    "numberFormat": "#,##0.00",
    "styleName": "orange-column"
  }]
}, {
    ...
}];