# 데이터 객체 셀

## Content

SpreadJS는 시트에서 사용자 지정 데이터를 객체 형태로 효과적으로 표시할 수 있도록 `DataObject` 셀 유형을 지원합니다. 이 기능을 통해 사용자 지정 객체 데이터를 워크시트에 편리하게 표시할 수 있는 `DataObject` 셀 유형을 구현할 수 있습니다.
셀 값이 객체이고 셀 유형이 [<span lang="EN-US" style="mso-ascii-font-family:Calibri;
mso-fareast-font-family:Calibri;mso-hansi-font-family:Calibri;mso-bidi-font-family:
Calibri">DataObject</span>](/spreadjs/api/v18/classes/GC.Spread.Sheets.CellTypes.DataObject)로 설정되어 있으면, 해당 셀에 자동으로 셀 버튼이 추가됩니다.
![cell-button-dataobject.png](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/cell-button-dataobject.97640f.png)
해당 셀 버튼에는 데이터 소스를 나타내는 아이콘이 표시되며, 이는 <span lang="EN-US" style="mso-ascii-font-family:Calibri;
mso-fareast-font-family:Calibri;mso-hansi-font-family:Calibri;mso-bidi-font-family:
Calibri">DataObject</span>임을 나타냅니다. 이 아이콘을 클릭하면 드롭다운 리스트가 열리고, 항목 중 하나를 선택할 수 있습니다.
![cellbutton-dataobject.gif](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/cellbutton-dataobject.4b41ee.gif)
드롭다운 목록에서 항목을 선택하면, 선택된 항목의 값이 오른쪽의 인접 빈 셀에 표시됩니다. 이 동작은 실행 취소(Undo)도 지원하므로 이전 추출 작업을 되돌릴 수 있습니다.

>type=warning
> **참고:** 인접한 셀이 병합되어 있거나 테이블의 일부인 경우, 드롭다운 목록에서 항목을 추출하려고 할 때 “데이터를 삽입할 수 없습니다.”라는 메시지와 함께 <span lang="EN-US" style="font-size:11.0pt;line-height:
> 107%;font-family:Calibri,sans-serif;mso-fareast-font-family:Calibri;
> mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA">InvalidOperation </span>이벤트가 발생합니다.

`DataObject` 셀 유형은 `PROPERTY` 함수 또는 dot(.) 연산자가 포함된 포맷 문자열을 허용합니다. 이는 객체 유형이 문자열일 때 셀 값을 어떻게 표시할 지를 결정합니다.
아래 코드는 `WEBSERVICE` 함수를 사용하여 셀 버튼에 데이터를 제공하는 `DataObject` 셀 유형을 설정하는 방법을 보여줍니다.

```JavaScript
// WEBSERVICE 함수를 사용하여 데이터를 제공하는 DataObject 셀 유형 설정
sheet.setFormula(1, 1, '=FILTERJSON(WEBSERVICE("https://demodata.grapecity.com/northwind/api/v1/Products/1"))');
var cellType1 = new GC.Spread.Sheets.CellTypes.DataObject('=@.productName & " " & @.unitPrice');
sheet.setCellType(1, 1, cellType1);
```