[]
        
(Showing Draft Content)

체크박스 셀

셀에 체크 박스를 표시하려면 CheckBox 셀을 사용할 수 있습니다. 체크 박스 셀은 작은 체크 박스를 표시하며, 체크됨(checked), 체크되지 않음(unchecked), 불확정(indeterminate)의 세 가지 상태 중 하나를 가질 수 있습니다. 텍스트를 설정하여 체크 박스를 사용자 정의할 수도 있습니다.

isThreeState 메서드를 true 로 설정하면, 기본 두 가지 상태(체크됨/해제됨) 외에 불확정 상태도 사용할 수 있습니다. 또한 textAlign 메서드를 통해 체크 박스와 텍스트의 정렬을 지정할 수 있습니다.



다음 표와 같이 value 메서드를 사용하여 코드에서 체크박스의 상태를 설정할 수 있습니다:

값 (Value)

상태 (State)

null

Indeterminate (불확정)

0

Unchecked (체크 안 됨)

1

Checked (체크됨)

boxSize() 메서드를 사용하여 체크박스의 크기를 변경할 수 있으며, 값으로 숫자 또는 "auto"를 설정할 수 있습니다.

잘못된 값을 설정하면 체크박스 크기는 변경되지 않습니다. 체크박스 셀의 기본 크기는 12×12입니다.

코드 사용 예

이 예제는 3가지 상태를 가진 체크박스 셀을 생성합니다.

// 활성화 시트 가져오기 
var activeSheet = spread.getSheet(0);
var cellType = new GC.Spread.Sheets.CellTypes.CheckBox();
cellType.caption("caption");
cellType.textTrue("True");
cellType.textFalse("False");
cellType.textIndeterminate("Indeterminate");
cellType.textAlign(GC.Spread.Sheets.CellTypes.CheckBoxTextAlign.bottom);
cellType.isThreeState(true);
cellType.boxSize(20);
activeSheet.getCell(1, 1).cellType(cellType);
//activeSheet.getCell(1, 1).value(1);

체크박스 셀에서 텍스트 줄바꿈

체크박스 캡션이 셀 안에 다 들어가지 않을 정도로 길 경우, 텍스트를 줄바꿈하려면 셀 스타일의 wordWrap 속성을 true로 설정해야 합니다.

wordWrap 속성은 기본값이 false입니다.

wordWrap 속성

wordWrap = false

wordWrap_false

wordWrap = true

wordWrap_true

체크박스 셀의 줄바꿈 규칙은 먼저 단어 단위로 줄을 바꾸며, 필요할 경우 단어 내부에서도 줄바꿈이 발생할 수 있습니다.

wordWrap_innerWordBreak

wordWrap 이 활성화된 상태에서 셀의 수직 정렬이 설정되면, 체크박스는 다음과 같이 표시됩니다:

수직 정렬

셀 vAlign이 top이면 체크박스가 셀 위쪽에 정렬됨

wordWrap_true

셀 vAlign이 middle이면 체크박스가 셀 중앙에 정렬됨

wordWrap_middleAlign

셀 vAlign이 bottom이면 체크박스가 셀 아래쪽에 정렬됨

wordWrap_bottomAlign

그러나 줄바꿈된 텍스트의 수평 정렬은 셀의 hAlign 값에 따라 변경할 수 있습니다. 예를 들어, 셀의 hAlignright로 설정되면 캡션 텍스트만 셀의 오른쪽에 정렬됩니다.

마찬가지로 hAlignleft 또는 center로 설정되면 캡션 텍스트의 정렬만 각각 왼쪽 또는 가운데로 변경됩니다.

코드 사용 예

이 예제는 체크박스 셀에서 wordWrap 기능을 구현합니다.

// 긴 캡션 설정
cellType.caption("This is a very very long long text"); 
activeSheet.getCell(1, 1).cellType(cellType); 
activeSheet.setRowHeight(1, 120); 
activeSheet.setColumnWidth(1, 110); 
// wordwrap 속성을 true 설정
activeSheet.getCell(1, 1).wordWrap(true);