RealGrid2 가이드
렌더러
체크 렌더러

체크 렌더러

Check 렌더러는 셀의 값을 true/false 두 가지 상태로 표시하는 렌더러입니다. 체크 컬럼에 체크 렌더러를 적용하였습니다.

데이터가 Boolean인 경우

//js
var fields = [
  {
    fieldName: "Bool1",
    dataType: "boolean"
  },
  ... 생략 ...
]
 
dataProvider.setFields(fields);
 
var columns = [
  ... 생략 ...
  {
    name: "Bool1",
    fieldName: "Bool1",
    width: "60",
    editable: false,
    renderer: {
      type: "check",
    },
    header: {
      text: "체크"
    }
  },
  ... 생략 ...
];
 
gridView.setColumns(columns);

데이터가 Text인 경우

체크렌더러에 사용할 데이터가 텍스트인 경우 trueValues, falseValues로 check, uncheck값을 지정합니다.

//js
var fields = [
  {
    fieldName: "Bool2",
    dataType: "text"
  },
  ... 생략 ...
]
 
dataProvider.setFields(fields);
 
var columns = [
  ... 생략 ...
  {
    name: "Bool2",
    fieldName: "Bool2",
    width: "60",
    editable: false,
    renderer: {
      type: "check",
      trueValues: "Y",
      falseValues: "N"
    },
    header: {
      text: "체크",
      styleName: "orange-column"
    }
  },
  ... 생략 ...
];
 
gridView.setColumns(columns);

체크로 처리할 값이 여러개인 경우 , 문자로 구분하여 나열 합니다.

var columns = [
  ... 생략 ...
  {
    name: "Bool2",
    fieldName: "Bool2",
    width: "60",
    editable: false,
    renderer: {
      type: "check",
      trueValues: "Y,y,YES,yes",   //체크로 처리할 값이 여러개인 경우 , 구분하여 나열
      falseValues: "N,n,NO,no"
    },
    header: {
      text: "체크",
      styleName: "orange-column"
    }
  },
  ... 생략 ...
];

체크 렌더러의 동적 적용 1

특정 컬럼값에 따라 체크렌더러를 동적으로 적용할 수 있습니다.
성별 컬럼의 값이 '여'인 경우 체크박스 표시를 하지 않는 예제입니다.

var columns = [
  ... 생략 ...
  {
    name: "Bool2",
    fieldName: "Bool2",
    width: "60",
    editable: false,
    renderer: {
      type: "check",
      trueValues: "Y,y,YES,yes",
      falseValues: "N,n,NO,no"
    },
    header: {
      text: "체크",
      styleName: "orange-column"
    },
    styleCallback: function(grid, dataCell){
      var ret = {}
      var gender = grid.getValue(dataCell.index.itemIndex, "Gender")
 
      if(gender == '여'){
        ret.renderer = {type: "text"},
        ret.editable = false;
      }
 
      return ret;
    },
    displayCallback: function() {
      return '';
    }
  },
  ... 생략 ...
];
 

체크 렌더러의 동적 적용 2

특정 컬럼값에 따라 체크렌더러를 동적으로 적용할 수 있습니다.
성별 컬럼의 값이 '여'인 경우 체크박스값을 수정할 수 없게 하는 예제입니다.

var columns = [
  ... 생략 ...
  {
    name: "Bool2",
    fieldName: "Bool2",
    width: "60",
    editable: false,
    renderer: {
      type: "check",
      trueValues: "Y,y,YES,yes",
      falseValues: "N,n,NO,no"
    },
    header: {
      text: "체크",
      styleName: "orange-column"
    },
    styleCallback: function(grid, dataCell){
      var ret = {}
      var gender = grid.getValue(dataCell.index.itemIndex, "Gender")
 
      if(gender == '여'){
        ret.renderer = {type: "check", editable: false},
      }
 
      return ret;
    },
    displayCallback: function() {
      return '';
    }
  },
  ... 생략 ...
];