# 테이블 시트

## Content

테이블 시트는 데이터 매니저 인프라를 기반으로 구축된 워크시트 유형 컴포넌트입니다.
데이터 매니저 테이블 뷰에 바인딩되며 편집, 정렬, 필터링, 그룹화 및 계층 구조 작업과 같은 상호 작용 기능을 제공합니다.
협업이 활성화되면 테이블 시트는 데이터 매니저 기반 협업 모델을 따릅니다.
협업 동작은 기본 테이블의 데이터 원본 구성에 따라 결정됩니다.

## 데이터 원본별 동작

테이블 시트 자체는 데이터 저장 동작을 정의하지 않습니다.
협업 기능은 시트에 바인딩된 데이터 매니저 테이블에 의해 결정됩니다.

### 1\. 로컬 데이터\(JSON을 사용하는 data 옵션\)

다음과 같이 테이블을 생성한 경우:

```typescript
dataSourceOption: {
    data: [...]
}
```

다음 사용자 작업이 협업에 참여합니다.

* 셀 값 편집
* 레코드 추가 또는 삭제
* 열 정의 수정
* 스키마 구성 업데이트
* 계층 구조 작업 수행(이동, 승격, 강등)
* 행 고정 및 고정 해제
* 정렬, 필터링, 그룹화 및 뷰 업데이트

구성 변경과 데이터 집합 변경 사항이 모두 동기화됩니다.

### 2\. 원격 데이터\(URL 기반 전송\)

다음과 같이 테이블을 생성한 경우:

```typescript
dataSourceOption: {
    remote: { ... },
    autoSync: true

}
```

동작:

* 테이블 시트 편집은 지원됩니다.
* 데이터 변경 사항은 구성된 원격 서비스로 전송됩니다.
* 데이터 집합 변경 사항은 협업 시스템에 의해 동기화되지 않습니다.
* 구성 변경 사항은 직렬화 가능한 경우 계속 동기화됩니다.

데이터 일관성은 협업 계층이 아닌 백엔드 시스템에서 관리됩니다.

### 3\. 원격 데이터\(함수 처리기\)

원격 전송이 함수 처리기를 사용하는 경우:

* 해당 테이블은 협업에 참여하지 않습니다.
* 데이터 집합 및 구성 동기화가 모두 수행되지 않습니다.

### 4\. CSV 또는 XML 데이터

데이터 집합 콘텐츠가 CSV 또는 XML 형식에서 생성된 경우:

* 구성 변경 사항은 동기화됩니다.
* 데이터 집합 변경 사항은 동기화되지 않습니다.

## 제한 사항

* 현재 사용자 표시(Presence Awareness)를 지원하지 않습니다.
* 데이터 집합 동기화는 JSON 기반 로컬 데이터에서만 사용할 수 있습니다.
* 원격 데이터 일관성은 외부 서비스에 위임됩니다.