# 컨테이너

## Content

SpreadJS 디자이너 컴포넌트는 리포트 시트에 컨테이너를 삽입하여 필드를 특정 행, 열, 값과 연동해 데이터를 동적으로 구성할 수 있는 옵션을 제공합니다. 이 기능을 통해 사용자는 데이터를 표시하고 분석하기 위한 구조화된 템플릿을 만들 수 있습니다. 또한, 컨테이너를 사용자의 요구에 맞게 구성하고 세밀하게 조정하여 원하는 보고서 결과를 얻을 수 있습니다.

## 컨테이너 생성

아래 단계를 따라 리포트 시트에서 컨테이너를 생성하세요.

1. 워크북에 리포트 시트를 추가합니다.
    임의의 셀을 마우스 오른쪽 버튼으로 클릭한 후 컨텍스트 메뉴에서 **컨테이너 삽입(Insert Container)** 옵션을 선택합니다.
    ![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/9c3d6948-546a-4e49-bd0d-d1a9991a1a68/image.c73e88.png)
<br>
    컨테이너 레이아웃이 리포트 시트에 추가됩니다.
<br>
    ![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/9c3d6948-546a-4e49-bd0d-d1a9991a1a68/image.c1f7d7.png)
<br>
2. **TableList** 영역에서 필드를 선택한 후 컨테이너의 **행, 열, 값** 영역으로 드래그하거나 컨테이너의 **Row/Column/Value** 필드에 직접 드롭합니다.
<br>
    ![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/9c3d6948-546a-4e49-bd0d-d1a9991a1a68/image.6027e6.png?width=700)
<br>
    컨테이너에 고정 필드를 배치하면 해당 열 정보 대신 고정 셀 레이블이 표시됩니다.
<br>
    ![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/9c3d6948-546a-4e49-bd0d-d1a9991a1a68/image.1ff1f6.png?width=700)
<br>
3. 그룹 레이블 및 값 레이블 체크박스를 클릭하여 컨테이너 내에 레이블 포함 여부를 켜거나 끌 수 있습니다.
<br>
    ![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/9c3d6948-546a-4e49-bd0d-d1a9991a1a68/image.9714a4.png?width=700)

## 컨테이너 삭제

컨테이너를 삭제하면 해당 컨테이너 범위가 일반 리포트 시트 범위로 변환됩니다. 특정 컨테이너를 삭제하려면 컨테이너를 선택한 후 마우스 오른쪽 버튼을 클릭해 컨텍스트 메뉴를 열고 **컨테이너 삭제(Delete Container)** 옵션을 클릭하세요.

![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/9c3d6948-546a-4e49-bd0d-d1a9991a1a68/image.0f92eb.png)

## 중요 규칙 및 동작

컨테이너를 생성할 때 다음과 같은 규칙 및 동작이 적용됩니다:

* **기본 크기**: 컨테이너 범위는 기본적으로 8행 5열로 구성됩니다. 남아 있는 행이나 열 수가 2 미만이면 컨테이너를 추가할 수 없습니다.
* **기존 컨테이너**: 선택한 범위에 이미 컨테이너가 존재하는 경우, 새 컨테이너를 추가할 수 없습니다.
* **스타일 및 데이터 초기화**: 컨테이너를 추가하기 전에 해당 범위에 있는 기존 스타일과 데이터는 모두 삭제됩니다.
* **필드 배치**:
    * 필드는 개별 셀이 아닌 컨테이너에 정의된 범위에만 드롭할 수 있습니다.
        필드를 드롭한 순서에 따라 컨테이너 레이아웃이 자동으로 다시 생성됩니다.
* **빈 컨테이너**: 컨테이너가 비어 있는 경우, 오른쪽 패널의 템플릿 바인딩 정보는 업데이트되지 않으며 셀 값을 편집할 수 없습니다.
* **그룹화 동작**:
    * 행 및 열 필드는 그룹 유형으로 처리됩니다.
        열 그룹은 수평 방향으로, 행 그룹은 수직 방향으로 정렬됩니다.
        값 영역에 있는 필드는 기본적으로 집계됩니다.
        * 숫자형 데이터는 합계(Sum)로 집계됩니다.
            문자열 데이터는 목록(List)으로 집계됩니다.
* **컨테이너 크기 조정**: 행이나 열을 추가하거나 삭제하면 컨테이너 범위의 크기에 영향을 줍니다. 범위에 행 또는 열이 하나만 남아 있고 그것이 삭제되면, 컨테이너 범위도 함께 제거됩니다.
* **제한 사항**:
    * 사용자는 컨테이너 범위 내에서 값을 붙여넣기, 드래그 이동, 드래그 채우기를 할 수 없습니다.
    * 필드는 선택된 상태에서만 컨테이너에 드래그 앤 드롭할 수 있습니다.
    * 컨테이너 범위 내의 셀은 병합할 수 없습니다.