# 다중 워크시트 선택

## Content

SpreadJS는 사용자가 여러 워크시트를 선택하고, 해당 시트들을 삭제하거나 숨기는 작업을 수행할 수 있도록 지원합니다. [isSelected](/spreadjs/api/classes/GC.Spread.Sheets.Worksheet#isSelected) 속성을 사용하면 여러 워크시트를 선택하거나 선택 해제할 수 있습니다. 여러 시트가 선택된 상태에서는 컨텍스트 메뉴 옵션을 통해 숨기기나 삭제 작업을 적용할 수 있습니다.
아래 이미지는 하나의 통합 문서에서 여러 시트가 선택된 상태를 보여줍니다.
![](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/images/Multi_select.PNG)

**활성 시트**의 선택 상태 또한 `isSelected` 속성이나 [SheetChanging](/spreadjs/api/classes/GC.Spread.Sheets.Events#SheetChanging_EV) 이벤트를 사용하여 변경할 수 있습니다. 활성 시트가 선택 해제되면 해당 시트의 뷰는 `activeNotSelected` 상태로 전환됩니다.
[reset](/spreadjs/api/classes/GC.Spread.Sheets.Worksheet#reset) 메서드를 사용하더라도 시트의 선택 상태는 유지됩니다.

## 사용자 인터랙션 지원

SpreadJS는 키보드와 마우스 클릭 동작을 통해 시트의 선택 상태를 변경할 수 있도록 지원합니다. 단, 활성 시트는 항상 선택 상태로 유지되며 UI 동작만으로는 선택 해제할 수 없습니다.

| **UI 동작** | **선택된 시트 탭** | **선택되지 않은 시트 탭** |
| ----- | -------- | ------------ |
| 클릭(Click) | 클릭한 시트를 활성 시트로 설정 | 클릭한 시트를 활성 시트로 설정하고 나머지 시트는 선택 해제됨<br>모든 시트가 선택된 상태에서 비활성 시트를 클릭하면, 해당 시트가 활성화되고 나머지는 선택 해제됨 |
| Ctrl 또는 Cmd + 클릭 | 클릭한 시트가 선택 해제됨 (단, 활성 시트는 제외) | 클릭한 시트가 선택된 시트 목록에 추가됨 |
| Shift + 클릭 | 선택된 시트또는 클릭한 시트 사이의 범위를 모두 선택 |

**제한 사항**

* 터치 조작은 여러 시트 선택을 지원하지 않습니다.
* 실행 취소(Undo) 및 다시 실행(Redo)는 지원되지 않습니다.
* 숨겨진 시트는 선택할 수 없습니다

## 코드 사용 예

다음은 통합 문서에서 여러 워크시트의 선택 상태를 설정하는 코드 예제입니다.

```js
// 활성 시트 가져오기
var activeSheet = spread.getSheet(0);

// 특정 시트의 선택 상태 설정
spread.getSheet(1).isSelected(true);
spread.getSheet(2).isSelected(false);
spread.getSheet(3).isSelected(true);
spread.getSheet(4).isSelected(true);

// 특정 시트의 선택 상태 가져오기
var selectedState = spread.getSheet(3).isSelected();
```