# 열 관리

## Content

**열** 탭은 데이터 매니저에서 사용하는 테이블의 스키마를 정의합니다.
여기에서 다음 작업을 수행할 수 있습니다.

* 새 열 추가
* 열 데이터 정의 및 동작 구성
* 테이블 간 관계 정의
* 유효성 검사, 스타일 및 계층 구조 설정 구성

모든 열 구성은 데이터 매니저가 런타임에 사용하는 테이블 스키마에 대응됩니다.
스키마, 관계 및 계층 구조에 대한 개념 설명은 *기능*의 **데이터 매니저** 섹션을 참조하세요.

## 열 목록

열 목록에는 테이블에 정의된 모든 열이 표시됩니다.
열을 클릭하면 해당 열의 구성 패널이 열립니다.
![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260605.a8df8c.png)

### 열 형식 표시기

열 이름 앞에는 열 형식 범주를 나타내는 아이콘이 표시됩니다.
예를 들면 다음과 같습니다.

* **#**는 숫자 관련 형식(**Number**, **RowOrder** 등)을 나타냅니다.
* **ABC**는 텍스트 기반 형식(**String**, **None** 등)을 나타냅니다.
* **B**는 **Boolean**을 나타냅니다.
* 직사각형 아이콘 ![image-20260410.8bed9c.png](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260410.8bed9c-20260602.b2a418.png?width=20)은 **Object**를 나타냅니다.
* **[]**는 **Array**를 나타냅니다.
* 달력 아이콘 ![image-20260410.1f194a.png](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260410.1f194a-20260602.53b5bb.png?width=20)은 **Date**를 나타냅니다.
* **fx**는 사용자 정의 수식 열을 나타냅니다.

fx 아이콘은 **열 추가(Add Column)** 를 사용해 생성된 열에만 표시됩니다.
아이콘은 열의 데이터 형식에 따라 자동으로 결정됩니다. 형식을 변경하려면 아래 설명된 **스키마** 섹션의 **형식(Type)** 설정을 수정하세요.

### 열 상태 및 작업

열 이름 뒤에는 열 상태 또는 사용 가능한 작업을 나타내는 추가 아이콘이 표시될 수 있습니다.

* 관계 아이콘 ![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260605.b6b4b0.png?width=20)은 해당 열이 구성된 관계에 참여하고 있음을 나타냅니다.
* 삭제(휴지통) 아이콘 ![image-20260410.9e01af.png](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260410.9e01af-20260602.b51c47.png?width=20)은 사용자가 추가한 수식 열에 표시되며, 해당 열을 제거할 수 있습니다.

### 열 추가

**열 추가**를 클릭하여 새 수식 열을 생성합니다.
새로 추가된 열은:

* 수식 열로 생성됩니다.
* **fx** 아이콘이 표시됩니다.
* 열 목록의 마지막에 추가됩니다.

![add-20260410.3060ad.gif](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/add-20260410.3060ad-20260602.d16bcb.gif?width=800)

### 열 제거

사용자가 추가한 수식 열만 삭제할 수 있습니다.
테이블 스키마에서 생성된 열은 제거할 수 없습니다. 기존 열을 숨기려면 해당 속성에서 **표시(Visible)** 옵션을 해제하세요.
![delete-20260410.ad9a27.gif](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/delete-20260410.ad9a27-20260602.f80432.gif?width=800)

### Spread 열 재설정

**Spread 열 재설정(Reset Spread Columns)** 을 클릭하면 데이터 매니저의 열 정의를 현재 Spread의 열 바인딩과 동기화합니다.
이 작업은 중첩 데이터 경로를 포함하여 현재 **Spread**에 정의되거나 바인딩된 필드를 기준으로 열 구조를 업데이트합니다.
Spread 구조가 변경되었고 데이터 매니저의 열을 이에 맞게 정렬해야 하는 경우 이 옵션을 사용하세요.
![spread-20260410.4a7a97.gif](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/spread-20260410.4a7a97-20260602.39c4a1.gif?width=800)

## 열 구성

열을 선택하면 구성 패널이 열립니다.
설정은 다음 섹션으로 구성됩니다.

* 기본 열 속성
* 스키마 및 트리거
* 스타일 및 유효성 검사
* 관계
* 계층 구조

### 기본 열 속성

열을 선택하면 기본 속성이 오른쪽 패널에 표시됩니다.
이 속성은 바인딩된 컴포넌트에서 열의 동작 및 표시 방식을 제어합니다.
![image-20260409.a3bf52.png](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260409.a3bf52-20260602.68a44d.png?width=400)
이 설정은 바인딩된 컴포넌트에서 열의 동작 및 표시 방식을 제어합니다.

| 속성 | 설명 |
| --- | --- |
| 값(Value) | 열의 필드 이름입니다. 이 속성은 읽기 전용이며 수정할 수 없습니다. |
| 캡션(Caption) | 열 머리글에 표시되는 텍스트입니다. 기본값은 비어 있습니다. 지정하지 않으면 필드 이름이 표시됩니다. |
| 너비(Width) | 열 너비를 지정합니다. 기본값은 120입니다. |
| 기본 키(Is Primary Key) | 열을 기본 키로 지정합니다. 활성화하면 열 머리글에 표시기가 나타납니다. |
| 필수(Required) | 열에 값이 반드시 있어야 함을 나타냅니다. 활성화하면 열 머리글에 필수 표시기가 나타납니다. |
| 읽기 전용(Read Only) | 열 편집을 방지합니다. 활성화하면 열 머리글에 읽기 전용 표시기가 나타납니다. |
| 표시(Visible) | Spread에서 열을 표시할지 여부를 제어합니다. 해제하면 열은 스키마에 남아 있지만 화면에는 표시되지 않습니다. |
| 기본값(Default Value) | 새 행 생성 시 열에 할당되는 기본값을 지정합니다. |
| 머리글 맞춤(Header Fit) | 열 머리글 텍스트 표시 방식을 제어합니다. 옵션: Normal, Stack, Vertical. |

### 스키마 및 트리거

**스키마** 섹션은 데이터 매니저가 열 데이터를 해석, 서식 지정 및 처리하는 방식을 정의합니다.
![image-20260409.15b71e.png](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260409.15b71e-20260602.5c13d2.png?width=400)
**핵심 설정**

| 설정 | 설명 |
| --- | --- |
| 형식(Type) | Number, String, Boolean, Date, Object, Array, RowOrder 등의 데이터 형식을 지정합니다. <br>변경 시 열 형식 아이콘도 자동으로 업데이트됩니다. |
| Null 표시(Show Null As) | Null 값에 표시할 텍스트를 정의합니다. 표시 방식에만 영향을 줍니다. |
| 빈 값 표시(Show Empty As) | 빈 값에 표시할 텍스트를 정의합니다. 표시 방식에만 영향을 줍니다. |
| 패턴(Pattern) | 날짜 또는 숫자 형식과 같은 서식 또는 구문 분석 패턴을 지정합니다. |
| 매핑 이름(Mapped Name) | 열을 데이터 원본에 바인딩할 때 사용하는 필드 경로를 지정합니다. 직접 필드명 또는 중첩 경로(예: `customer.name`)를 사용할 수 있습니다. |
| 인덱싱됨(Indexed) | 필터링 및 조회 성능 향상을 위해 열에 인덱스를 생성할지 여부를 나타냅니다. |

**Spread 및 Lookup**

| 설정 | 설명 |
| --- | --- |
| Spread | Object 형식 열에 적용됩니다. 활성화하면 객체 속성이 1단계 열로 펼쳐집니다. <br>원래 중첩 구조로 되돌리려면 **Spread 열 재설정**을 사용하세요. |
| Lookup | 열을 Lookup 열로 지정합니다. <br>콤보 상자 또는 다중 열 드롭다운 목록으로 표시됩니다. 배열 형식 문자열(예: 1,2,3)을 사용하여 고정 Lookup 값을 지정할 수 있습니다. |

**트리거 설정**
트리거 수식(Trigger Formula)은 데이터 생성 또는 수정 시 열 값을 자동으로 계산하거나 업데이트합니다.

| 설정 | 설명 |
| --- | --- |
| 시점(When) | 수식 적용 시점을 지정합니다. **onNew**(행 생성 시) 또는 **onNewAndUpdate**(행 생성 또는 수정 시) |
| 수식(Formula) | 값을 계산하는 식입니다. 결과는 해당 열에 기록됩니다. |
| 필드(Fields) | **When**이 **onNewAndUpdate**인 경우에만 사용할 수 있습니다. <br>재계산을 트리거할 필드를 지정합니다. Any Field를 선택하면 모든 열 변경 시 재계산되며, 특정 필드만 선택할 수도 있습니다. |

![image-20260410.cd5d4c.png](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260410.cd5d4c-20260602.44c1b4.png)

### 스타일 및 유효성 검사

**스타일** 섹션은 선택한 열에 대한 시각적 스타일 및 데이터 유효성 검사 설정에 빠르게 접근할 수 있도록 합니다.
이 옵션들은 SpreadJS의 해당 구성 대화 상자를 엽니다. 자세한 동작 및 고급 옵션은 별도 문서를 참조하세요.
![image-20260409.bc7e5b.png](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260409.bc7e5b-20260602.4ffefd.png)

| 설정 | 설명 |
| --- | --- |
| 셀 템플릿(Cell Templates) | 셀 템플릿 대화 상자를 엽니다. 스타일, 조건부 서식, 유효성 검사 규칙, 셀 상태 설정을 포함할 수 있는 이름 지정 셀 템플릿을 적용할 수 있습니다. |
| 스타일(Style) | 셀 서식 대화 상자를 열어 숫자 형식, 글꼴, 맞춤, 테두리 및 채우기와 같은 시각적 속성을 구성합니다. |
| 머리글 스타일(Header Style) | 열 머리글용 셀 서식 대화 상자를 엽니다. |
| 조건부 서식(Conditional Format) | 조건부 서식 규칙 관리자를 열어 열의 조건부 서식 규칙을 생성하거나 관리합니다. |
| 유효성 검사기(Validator) | 데이터 유효성 검사 대화 상자를 열어 열 입력 유효성 검사 규칙을 구성합니다. |

이 설정은 열의 표시 방식과 사용자 입력 검증 방식에 영향을 줍니다. 기본 데이터 스키마는 수정하지 않습니다.

### 관계

**관계(Relationship)** 섹션에서는 현재 열과 다른 테이블의 열 간 관계를 정의할 수 있습니다.
구성은 열 단위로 수행되지만, 실제 관계는 데이터 매니저 내 두 테이블 간 연결을 생성합니다.
![image-20260409.97d1ab.png](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260409.97d1ab-20260602.404983.png)
**관계 설정**

| 설정 | 설명 |
| --- | --- |
| 대상 테이블(Target Table) | 관계를 설정할 테이블을 선택합니다. 드롭다운 목록에는 데이터 매니저의 사용 가능한 테이블이 표시됩니다. |
| 대상 열(Target Column) | 관계를 설정할 대상 테이블의 열을 선택합니다. 사용 가능한 열은 선택한 대상 테이블에 따라 달라집니다. |
| 원본 이름(Source Name) | 원본 테이블에서의 관계 이름입니다. <br>대상 테이블과 열 선택 후 자동 생성됩니다. 기본 형식은 `SourceTable_SourceColumn`입니다. 필요 시 수정할 수 있습니다. |
| 대상 이름(Target Name) | 대상 테이블에서의 관계 이름입니다. <br>자동 생성되며 기본 형식은 `TargetTable_TargetColumn`입니다. 필요 시 수정할 수 있습니다. |

관계가 구성되면 열 목록의 열 이름 옆에 관계 아이콘 ![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260605.49da7b.png?width=20)이 표시됩니다.
![relationship-20260410.8a2096.gif](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/relationship-20260410.8a2096-20260602.c4ce31.gif?width=800)
관계 동작 및 데이터 탐색, Lookup에 미치는 영향에 대한 자세한 내용은 *기능*의 데이터 매니저 섹션을 참조하세요.

### 계층 구조

**계층 구조(Hierarchy)** 섹션은 계층형 데이터를 트리 구조로 표시할 수 있도록 합니다.
계층 구조 설정은 데이터 원본이 이미 지원되는 계층 구조 형식을 따르고 있다고 가정합니다.

>type=note
> **참고:**
>
> * 계층 구조 구성은 기본 **데이터 원본**이 이미 지원되는 계층 구조 형식을 따르고 있다고 가정합니다.
> * 계층 구조는 **표시기 표시(Show Indicator)** 를 활성화해야 시각적으로 효과를 발휘합니다.

![image-20260409.987e2e.png](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260409.987e2e-20260602.a67b35.png?width=400)

**계층 구조 설정**

| 설정 | 설명 |
| --- | --- |
| 형식(Type) | 계층 구조 형식을 지정합니다. 사용 가능한 옵션은 **Parent**, **ChildrenPath**, **Level**입니다. <br>None을 선택하면 계층 구조가 비활성화됩니다. |
| 요약 수식(Summary Formula) | 부모 행의 요약 값을 계산하는 수식을 정의합니다. 레코드에 자식 행이 있을 때만 적용됩니다. |
| 개요 열(Outline Column) | 현재 열을 트리(개요) 열로 동작하도록 구성합니다. 테이블당 하나의 개요 열만 정의할 수 있습니다. |

**개요 열 옵션**

| 옵션 | 설명 |
| --- | --- |
| 확인란 표시(Show Checkbox) | 계층 구조 열의 각 행 옆에 확인란을 표시합니다. |
| 이미지 표시(Show Images) | 계층 수준에 따라 사용자 지정 이미지를 표시합니다. |
| 이미지(Images) | 각 계층 수준에 사용할 이미지를 지정합니다. <br>한 줄에 하나씩 입력합니다. 각 값은 유효한 URL 또는 Base64 문자열이어야 합니다. 이미지는 계층 깊이에 따라 순서대로 적용됩니다. |
| **표시기 표시(Show Indicator)** | 확장 및 축소 컨트롤을 표시합니다. 계층 구조를 시각적으로 상호작용 가능하게 만들려면 반드시 활성화해야 합니다. |
| 확장 표시기(Expand Indicator) | 확장된 노드에 사용할 아이콘을 지정합니다. 하나의 값만 허용되며 유효한 URL 또는 Base64 문자열이어야 합니다. |
| 축소 표시기(Collapse Indicator) | 축소된 노드에 사용할 아이콘을 지정합니다. 하나의 값만 허용되며 유효한 URL 또는 Base64 문자열이어야 합니다. |

**계층 구조 활성화 후**

* 행이 트리 구조로 표시됩니다.
* 표시기 표시가 활성화된 경우 확장/축소 컨트롤이 표시됩니다.
* 요약 수식이 정의된 경우 부모 행에 계산된 요약 값을 표시할 수 있습니다.
* 이미지 표시가 활성화된 경우 계층 수준에 따라 사용자 지정 이미지가 적용됩니다.

![hierarchy-20260410.ddab0a.gif](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/hierarchy-20260410.ddab0a-20260602.5c064f.gif?width=800)
고급 계층 구조 동작 및 데이터 구조 요구 사항에 대한 자세한 내용은 *기능*의 데이터 매니저 섹션을 참조하세요.