RealGrid2 가이드
그리드 구성요소
체크바

체크바

체크바(CheckBar)는 그리드의 특정 행을 선택하기 위해 사용합니다. CheckBar에 의해 선택된 특정 행들은 복사나 삭제등 명령을 일괄처리 하기위해 사용할 수 있습니다.

체크바를 설정하는 방법

체크바의 설정을 변경하는 것은 setCheckBar()를 사용 합니다.
현재 설정된 상태를 확인하는 것은 getCheckBar()을 사용 합니다.

체크바의 화면 표시여부를 지정

  • visible: 체크바 영역의 화면 표시여부를 지정합니다.
gridView.setCheckBar({
  visible: false
});
gridView.setCheckBar({
  visible: true
});

한 행만 체크 가능(라디오 버튼)

체크바의 속성중 exclusive 속성을 true 로 설정하면 라디오 버튼처럼 하나의 행만 체크할 수 있습니다.

  • exclusive: 하나의 행만 체크가능한지 여부를 지정합니다.
gridView.setCheckBar({
  exclusive: true
});
gridView.setCheckBar({
  exclusive: false
});

모두 체크

기본값으로 체크바의 헤드영역에 v 표시가 되어 있습니다. 이 영역을 클릭하게 되면 모든 행이 체크되게 됩니다.

  • showAll: 체크바 헤드 영역의 v 표시여부를 지정합니다. false 인 경우 헤드 영역을 클릭해도 모든 행이 체크되지 않습니다.
gridView.setCheckBar({
  showAll: false
});
gridView.setCheckBar({
  showAll: true
});

체크하기

한 행씩 체크할 수 있는 API: checkItem(), checkRow()
여러 행을 체크할 수 있는 API: checkItems(), checkRows()
전체 행을 체크할 수 있는 API: checkAll()

gridView.checkItem(0, true);
gridView.checkItem(0, false);

아무 컬럼이나 컬럼의 헤더를 클릭하여 소트 후 아래 버튼을 클릭하세요.

gridView.checkRow(0, true);
gridView.checkRow(0, false);

dataRow, itemIndex가 다르기 때문에 결과가 다릅니다.

gridView.checkItems([1, 2], true);
gridView.checkItems([1, 2], false);

아무 컬럼의 헤더를 클릭하여 소트 후 아래 버튼을 클릭하세요.

gridView.checkRows([1, 2], true);
gridView.checkRows([1, 2], false);

Head/Foot

체크바의 헤드와 풋 영역에 글자를 표시할 수 있습니다.
아래 속성을 사용하려면 showAll속성의 값은 false 이어야 합니다.

  • headText: head 영역에 표시할 text를 지정한다.
  • footText: foot 영역에 표시할 text를 지정한다.
gridView.setCheckBar({
  showAll: false,
  headText: "H",
  footText: "F"
});

Checkable 제어

아래와 같은 수식을 사용하여 체크바에 체크 가능 여부를 제어할 수 있습니다.

  • values[] - 표시 중인 행의 각 필드 값을 values[“field name”]나 values[fieldIndex]로 리턴.
  • row - 표시 중인 행의 Item 인덱스.
  • datarow - 표시 중인 행의 데이터행 인덱스.
  • checked - 표시 중인 행의 checked 상태. true/false로 리턴.
  • checkable - 표시 중인 행의 체크가능 상태. true/false로 리턴.
  • state - 표시 중인 행이 참조하는 데이터행의 상태. ‘c’:생성, ‘u’:수정, ‘d’:삭제, ‘x’:생성 후 삭제.

관계 연산자

  • equal(같다)는 == 가 아니라 = 입니다.
  • not equal(같지않다)는 != 가 아니라 <> 입니다.
  • greater then(크다)는 > 입니다.
  • less then(작다)는 < 입니다.
  • not은 ! 가 아니라 not 입니다.
  • and는 && 가 아니라 and 입니다.
  • or는 || 가 아니라 or 입니다.

ex)
state = 'c': 새로 추가된 행만 체크 가능
values['Gender'] = '남': Gender필드값이 '남'인 행만 체크 가능
row < 10: itemIndex가 10 이하인 행만 체크 가능
datarow < 10: dataRow가 10 이하인 행만 체크 가능
(datarow < 10) and (state = 'c'): dataRow가 10 미만이고 새로 추가된 행만 체크 가능

이러한 수식들을 checkBar.checkableExpression 에 설정 후 gridView.applyCheckable() 사용하여 그리드에 적용시킬 수 있습니다.
gridView.setCheckableExpression()을 사용하여 설정과 적용을 한번에 적용할 수도 있습니다.
적용된 체커블 상태의 초기화는 gridView.resetCheckables()을 사용합니다.

//수식만 설정
gridView.checkBar.checkableExpression = "values['Gender'] = '남'";
//설정된 수식을 실제로 적용
gridView.applyCheckables();
//수식의 설정과 적용을 동시에 
gridView.setCheckableExpression("row < 5", true);
//적용된 수식을 제거
gridView.resetCheckables();

선택된 행 값 가져오기

//반환되는 값은 dataRow
var rows = gridView.getCheckedRows(true);
alert(rows);
//반환되는 값은 itemIndex
var items = gridView.getCheckedItems();
alert(items);

체크바 병합

체크바에 병합할 조건의 필드를 조건으로 추가해서 조건에 따라 체크바 영역을 병합시킬 수 있습니다.

gridView.checkBar.mergeRule = "value['Gender']"

체크, 텍스트 동시사용

체크바 헤더에 체크박스와 텍스트를 동시에 보여지도록 설정할 수 있습니다. checkLocation 속성으로 체크박스의 위치를 지정합니다.

gridView.setCheckBar({headText: "선택", checkLocation: "bottom", width: 50});