# GC.Spread.Sheets.CellTypes.FileUpload

## Content

# Class: FileUpload

[Sheets](../modules/GC.Spread.Sheets).[CellTypes](../modules/GC.Spread.Sheets.CellTypes).FileUpload

## Hierarchy

- [`Base`](GC.Spread.Sheets.CellTypes.Base)

  ↳ **`FileUpload`**

## Table of contents

### Constructors

- [constructor](GC.Spread.Sheets.CellTypes.FileUpload#constructor)

### Properties

- [previewCommand](GC.Spread.Sheets.CellTypes.FileUpload#previewcommand)
- [typeName](GC.Spread.Sheets.CellTypes.FileUpload#typename)

### Methods

- [accept](GC.Spread.Sheets.CellTypes.FileUpload#accept)
- [activateEditor](GC.Spread.Sheets.CellTypes.FileUpload#activateeditor)
- [createEditorElement](GC.Spread.Sheets.CellTypes.FileUpload#createeditorelement)
- [deactivateEditor](GC.Spread.Sheets.CellTypes.FileUpload#deactivateeditor)
- [focus](GC.Spread.Sheets.CellTypes.FileUpload#focus)
- [format](GC.Spread.Sheets.CellTypes.FileUpload#format)
- [fromJSON](GC.Spread.Sheets.CellTypes.FileUpload#fromjson)
- [getAutoFitHeight](GC.Spread.Sheets.CellTypes.FileUpload#getautofitheight)
- [getAutoFitWidth](GC.Spread.Sheets.CellTypes.FileUpload#getautofitwidth)
- [getEditorValue](GC.Spread.Sheets.CellTypes.FileUpload#geteditorvalue)
- [getHitInfo](GC.Spread.Sheets.CellTypes.FileUpload#gethitinfo)
- [isClearEnabled](GC.Spread.Sheets.CellTypes.FileUpload#isclearenabled)
- [isDownloadEnabled](GC.Spread.Sheets.CellTypes.FileUpload#isdownloadenabled)
- [isEditingValueChanged](GC.Spread.Sheets.CellTypes.FileUpload#iseditingvaluechanged)
- [isImeAware](GC.Spread.Sheets.CellTypes.FileUpload#isimeaware)
- [isPreviewEnabled](GC.Spread.Sheets.CellTypes.FileUpload#ispreviewenabled)
- [isReservedKey](GC.Spread.Sheets.CellTypes.FileUpload#isreservedkey)
- [marginBottom](GC.Spread.Sheets.CellTypes.FileUpload#marginbottom)
- [marginLeft](GC.Spread.Sheets.CellTypes.FileUpload#marginleft)
- [marginRight](GC.Spread.Sheets.CellTypes.FileUpload#marginright)
- [marginTop](GC.Spread.Sheets.CellTypes.FileUpload#margintop)
- [maxSize](GC.Spread.Sheets.CellTypes.FileUpload#maxsize)
- [paint](GC.Spread.Sheets.CellTypes.FileUpload#paint)
- [paintContent](GC.Spread.Sheets.CellTypes.FileUpload#paintcontent)
- [parse](GC.Spread.Sheets.CellTypes.FileUpload#parse)
- [processKeyDown](GC.Spread.Sheets.CellTypes.FileUpload#processkeydown)
- [processKeyUp](GC.Spread.Sheets.CellTypes.FileUpload#processkeyup)
- [processMouseDown](GC.Spread.Sheets.CellTypes.FileUpload#processmousedown)
- [processMouseEnter](GC.Spread.Sheets.CellTypes.FileUpload#processmouseenter)
- [processMouseLeave](GC.Spread.Sheets.CellTypes.FileUpload#processmouseleave)
- [processMouseMove](GC.Spread.Sheets.CellTypes.FileUpload#processmousemove)
- [processMouseUp](GC.Spread.Sheets.CellTypes.FileUpload#processmouseup)
- [selectAll](GC.Spread.Sheets.CellTypes.FileUpload#selectall)
- [setEditorValue](GC.Spread.Sheets.CellTypes.FileUpload#seteditorvalue)
- [toJSON](GC.Spread.Sheets.CellTypes.FileUpload#tojson)
- [updateEditor](GC.Spread.Sheets.CellTypes.FileUpload#updateeditor)
- [updateEditorContainer](GC.Spread.Sheets.CellTypes.FileUpload#updateeditorcontainer)
- [updateImeMode](GC.Spread.Sheets.CellTypes.FileUpload#updateimemode)
- [valuePath](GC.Spread.Sheets.CellTypes.FileUpload#valuepath)

## Constructors

### <a id="constructor" name="constructor"></a> constructor

• **new FileUpload**()

Represents a file upload cell type.

**`example`**
```javascript
// set a FileUpload celltype
const cellType1 = new GC.Spread.Sheets.CellTypes.FileUpload();
sheet.setCellType(1, 1, cellType1);
// FileUpload support the valuePath property, will parse the cell value with valuePath to GC.Spread.Sheets.CellTypes.IFileInfo
sheet.getCellType(1, 1).valuePath("blob");
sheet.setValue(1, 1, blob); // value path is "blob"
sheet.getCellType(2, 2).valuePath("dataUrl");
sheet.setValue(2, 2, dataUrl); // value path is "dataUrl"
sheet.getCellType(3, 3).valuePath(undefined);
sheet.setValue(3, 3, { name: 'test1.png', blob: blob }); // value path is undefined
sheet.setValue(3, 3, { name: 'test2.txt', dataUrl: dataUrl }); // value path is undefined
```

#### Overrides

[Base](GC.Spread.Sheets.CellTypes.Base).[constructor](GC.Spread.Sheets.CellTypes.Base#constructor)

## Properties

### <a id="previewcommand" name="previewcommand"></a> previewCommand

• `Optional` **previewCommand**: `string` \| (`file`: [`IFilePreviewInfo`](../interfaces/GC.Spread.Sheets.CellTypes.IFilePreviewInfo)) => `void`

Customize personalized preview logic and UI display by setting event callbacks or SJS commands after clicking the preview button.

**`returns`**

**`example`**
```javascript
// This example creates a file upload cell.
// Customize your preview function.
fileUpload.previewCommand = function (fileInfo) {
   // Custom preview logic
}

// Customize your preview command.
fileUpload.previewCommand = 'openPreviewDialog';

activeSheet.getCell(1, 1).cellType(fileUpload);
```

___

### <a id="typename" name="typename"></a> typeName

• **typeName**: `string`

Represents the type name string used for supporting serialization.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[typeName](GC.Spread.Sheets.CellTypes.Base#typename)

## Methods

### <a id="accept" name="accept"></a> accept

▸ **accept**(`value?`): `string`

Gets or sets the file types that can be uploaded.

**`example`**
```javascript
// This example creates a file upload cell.
const fileUpload = new GC.Spread.Sheets.CellTypes.FileUpload();
fileUpload.accept('image/*');
activeSheet.getCell(1, 1).cellType(fileUpload);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` | The file types that can be uploaded. |

#### Returns

`string`

Returns the file types that can be uploaded.

___

### <a id="activateeditor" name="activateeditor"></a> activateEditor

▸ **activateEditor**(`editorContext`, `cellStyle`, `cellRect`, `context?`): `void`

Activates the editor, including setting properties or attributes for the editor and binding events for the editor.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `cellStyle` | [`Style`](GC.Spread.Sheets.Style) | The cell's actual style. |
| `cellRect` | [`Rect`](GC.Spread.Sheets.Rect) | The cell's layout information. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[activateEditor](GC.Spread.Sheets.CellTypes.Base#activateeditor)

___

### <a id="createeditorelement" name="createeditorelement"></a> createEditorElement

▸ **createEditorElement**(`context?`): `HTMLElement`

Creates a DOM element then returns it.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`HTMLElement`

Returns a DOM element.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[createEditorElement](GC.Spread.Sheets.CellTypes.Base#createeditorelement)

___

### <a id="deactivateeditor" name="deactivateeditor"></a> deactivateEditor

▸ **deactivateEditor**(`editorContext`, `context?`): `void`

Deactivates the editor, such as unbinding events for editor.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[deactivateEditor](GC.Spread.Sheets.CellTypes.Base#deactivateeditor)

___

### <a id="focus" name="focus"></a> focus

▸ **focus**(`editorContext`, `context?`): `void`

Focuses the editor DOM element.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[focus](GC.Spread.Sheets.CellTypes.Base#focus)

___

### <a id="format" name="format"></a> format

▸ **format**(`value`, `format`, `formattedData?`, `context?`): `string`

Formats a value with the specified format to a string.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value` | `any` | The object value to format. |
| `format` | `string` \| [`GeneralFormatter`](GC.Spread.Formatter.GeneralFormatter) | The format. |
| `formattedData?` | [`FormattedData`](../interfaces/GC.Spread.Sheets.FormattedData) | the formatted data. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`string`

Returns the formatted string.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[format](GC.Spread.Sheets.CellTypes.Base#format)

___

### <a id="fromjson" name="fromjson"></a> fromJSON

▸ **fromJSON**(`settings`): `void`

Loads the object state from the specified JSON string.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `settings` | `any` | The cell type data from deserialization. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[fromJSON](GC.Spread.Sheets.CellTypes.Base#fromjson)

___

### <a id="getautofitheight" name="getautofitheight"></a> getAutoFitHeight

▸ **getAutoFitHeight**(`value`, `text`, `cellStyle`, `zoomFactor`, `context?`): `number`

Gets a cell's height that can be used to handle the row's automatic fit.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value` | `any` | The cell's value. |
| `text` | `string` | The cell's text. |
| `cellStyle` | [`Style`](GC.Spread.Sheets.Style) | The cell's actual value. |
| `zoomFactor` | `number` | The current sheet's zoom factor. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`number`

Returns the cell's height that can be used to handle the row's automatic fit.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[getAutoFitHeight](GC.Spread.Sheets.CellTypes.Base#getautofitheight)

___

### <a id="getautofitwidth" name="getautofitwidth"></a> getAutoFitWidth

▸ **getAutoFitWidth**(`value`, `text`, `cellStyle`, `zoomFactor`, `context?`): `number`

Gets a cell's width that can be used to handle the column's automatic fit.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value` | `any` | The cell's value. |
| `text` | `string` | The cell's text. |
| `cellStyle` | [`Style`](GC.Spread.Sheets.Style) | The cell's actual value. |
| `zoomFactor` | `number` | The current sheet's zoom factor. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`number`

Returns the cell's width that can be used to handle the column's automatic fit.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[getAutoFitWidth](GC.Spread.Sheets.CellTypes.Base#getautofitwidth)

___

### <a id="geteditorvalue" name="geteditorvalue"></a> getEditorValue

▸ **getEditorValue**(`editorContext`, `context?`): `any`

Gets the editor's value.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`any`

Returns the editor's value.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[getEditorValue](GC.Spread.Sheets.CellTypes.Base#geteditorvalue)

___

### <a id="gethitinfo" name="gethitinfo"></a> getHitInfo

▸ **getHitInfo**(`x`, `y`, `cellStyle`, `cellRect`, `context?`): [`IHitTestCellTypeHitInfo`](../interfaces/GC.Spread.Sheets.IHitTestCellTypeHitInfo)

Gets the cell type's hit information.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `x` | `number` | <i>x</i>-coordinate of pointer's current location relative to the canvas. |
| `y` | `number` | <i>y</i>-coordinate of pointer's current location relative to the canvas. |
| `cellStyle` | [`Style`](GC.Spread.Sheets.Style) | The current cell's actual style. |
| `cellRect` | [`Rect`](GC.Spread.Sheets.Rect) | The current cell's layout information. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

[`IHitTestCellTypeHitInfo`](../interfaces/GC.Spread.Sheets.IHitTestCellTypeHitInfo)

Returns an object that contains the <i>x</i>, <i>y</i>, <i>row</i>, <i>col</i>, <i>cellRect</i>, and <i>sheetArea</i> parameters, and a value to indicate <i>isReservedLocation</i>.
<i>isReservedLocation</i> is `true` if the hit test is in a special area that the cell type needs to handle; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[getHitInfo](GC.Spread.Sheets.CellTypes.Base#gethitinfo)

___

### <a id="isclearenabled" name="isclearenabled"></a> isClearEnabled

▸ **isClearEnabled**(`value?`): `boolean`

Gets or sets whether to display the file clear button.

**`example`**
```javascript
// This example creates a file upload cell.
const fileUpload = new GC.Spread.Sheets.CellTypes.FileUpload();
fileUpload.isClearEnabled(false);
activeSheet.getCell(1, 1).cellType(fileUpload);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | Whether to display the file clear button. |

#### Returns

`boolean`

Returns the currently displayed file clear button.

___

### <a id="isdownloadenabled" name="isdownloadenabled"></a> isDownloadEnabled

▸ **isDownloadEnabled**(`value?`): `boolean`

Gets or sets whether to display the file download button.

**`example`**
```javascript
// This example creates a file upload cell.
const fileUpload = new GC.Spread.Sheets.CellTypes.FileUpload();
fileUpload.isDownloadEnabled(false);
activeSheet.getCell(1, 1).cellType(fileUpload);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | Whether to display the file download button. |

#### Returns

`boolean`

Returns the currently displayed file download button.

___

### <a id="iseditingvaluechanged" name="iseditingvaluechanged"></a> isEditingValueChanged

▸ **isEditingValueChanged**(`oldValue`, `newValue`, `context?`): `boolean`

Whether the editing value has changed.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `oldValue` | `any` | Old editing value. |
| `newValue` | `any` | New editing value. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`boolean`

`true` if oldValue equals newValue; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[isEditingValueChanged](GC.Spread.Sheets.CellTypes.Base#iseditingvaluechanged)

___

### <a id="isimeaware" name="isimeaware"></a> isImeAware

▸ **isImeAware**(`context?`): `boolean`

Whether this cell type is aware of IME.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`boolean`

`true` if the cell type is aware of IME; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[isImeAware](GC.Spread.Sheets.CellTypes.Base#isimeaware)

___

### <a id="ispreviewenabled" name="ispreviewenabled"></a> isPreviewEnabled

▸ **isPreviewEnabled**(`value?`): `boolean`

Gets or sets whether to display the file preview button.

**`example`**
```javascript
// This example creates a file upload cell.
const fileUpload = new GC.Spread.Sheets.CellTypes.FileUpload();
fileUpload.isPreviewEnabled(false);
activeSheet.getCell(1, 1).cellType(fileUpload);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | Whether to display the file preview button. |

#### Returns

`boolean`

Returns the currently displayed file preview button.

___

### <a id="isreservedkey" name="isreservedkey"></a> isReservedKey

▸ **isReservedKey**(`e`, `context?`): `boolean`

Whether the cell type handles the keyboard event itself.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `e` | `KeyboardEvent` | The KeyboardEvent. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`boolean`

Returns `true` if the cell type handles the keyboard event itself; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[isReservedKey](GC.Spread.Sheets.CellTypes.Base#isreservedkey)

___

### <a id="marginbottom" name="marginbottom"></a> marginBottom

▸ **marginBottom**(`value?`): `number`

Gets or sets the margin bottom value.

**`example`**
```javascript
// This example creates a file upload cell.
const fileUpload = new GC.Spread.Sheets.CellTypes.FileUpload();
fileUpload.marginBottom(10);
activeSheet.getCell(1, 1).cellType(fileUpload);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The margin bottom value. |

#### Returns

`number`

If no value is set, return current margin bottom.

___

### <a id="marginleft" name="marginleft"></a> marginLeft

▸ **marginLeft**(`value?`): `number`

Gets or sets the margin left value.

**`example`**
```javascript
// This example creates a file upload cell.
const fileUpload = new GC.Spread.Sheets.CellTypes.FileUpload();
fileUpload.marginLeft(10);
activeSheet.getCell(1, 1).cellType(fileUpload);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The margin left value. |

#### Returns

`number`

If no value is set, return current margin left.

___

### <a id="marginright" name="marginright"></a> marginRight

▸ **marginRight**(`value?`): `number`

Gets or sets the margin right value.

**`example`**
```javascript
// This example creates a file upload cell.
const fileUpload = new GC.Spread.Sheets.CellTypes.FileUpload();
fileUpload.marginRight(10);
activeSheet.getCell(1, 1).cellType(fileUpload);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The margin right value. |

#### Returns

`number`

If no value is set, return current margin right.

___

### <a id="margintop" name="margintop"></a> marginTop

▸ **marginTop**(`value?`): `number`

Gets or sets the margin top value.

**`example`**
```javascript
// This example creates a file upload cell.
const fileUpload = new GC.Spread.Sheets.CellTypes.FileUpload();
fileUpload.marginTop(10);
activeSheet.getCell(1, 1).cellType(fileUpload);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The margin top value. |

#### Returns

`number`

If no value is set, return current margin top.

___

### <a id="maxsize" name="maxsize"></a> maxSize

▸ **maxSize**(`value?`): `number`

Gets or sets the maximum file size that can be uploaded.

**`example`**
```javascript
// This example creates a file upload cell.
const fileUpload = new GC.Spread.Sheets.CellTypes.FileUpload();
fileUpload.maxSize(10000);
activeSheet.getCell(1, 1).cellType(fileUpload);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The maximum file size that can be uploaded. |

#### Returns

`number`

Returns the maximum file size that can be uploaded.

___

### <a id="paint" name="paint"></a> paint

▸ **paint**(`ctx`, `value`, `x`, `y`, `w`, `h`, `style`, `context?`): `void`

Paints a cell on the canvas.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `ctx` | `CanvasRenderingContext2D` | The canvas's two-dimensional context. |
| `value` | `any` | The cell's value. |
| `x` | `number` | <i>x</i>-coordinate relative to the canvas. |
| `y` | `number` | <i>y</i>-coordinate relative to the canvas. |
| `w` | `number` | The cell's width. |
| `h` | `number` | The cell's height. |
| `style` | [`Style`](GC.Spread.Sheets.Style) | The cell's actual style. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[paint](GC.Spread.Sheets.CellTypes.Base#paint)

___

### <a id="paintcontent" name="paintcontent"></a> paintContent

▸ **paintContent**(`ctx`, `value`, `x`, `y`, `w`, `h`, `style`, `context?`): `void`

Paints the cell content area on the canvas.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `ctx` | `CanvasRenderingContext2D` | The canvas's two-dimensional context. |
| `value` | `any` | The cell's value. |
| `x` | `number` | <i>x</i>-coordinate relative to the canvas. |
| `y` | `number` | <i>y</i>-coordinate relative to the canvas. |
| `w` | `number` | The cell content area's width. |
| `h` | `number` | The cell content area's height. |
| `style` | [`Style`](GC.Spread.Sheets.Style) | The cell's actual style. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[paintContent](GC.Spread.Sheets.CellTypes.Base#paintcontent)

___

### <a id="parse" name="parse"></a> parse

▸ **parse**(`text`, `formatStr`, `context?`): `any`

Parses the text with the specified format string to an object.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `text` | `string` | The parse text string. |
| `formatStr` | `string` | The parse format string. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`any`

The parsed object.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[parse](GC.Spread.Sheets.CellTypes.Base#parse)

___

### <a id="processkeydown" name="processkeydown"></a> processKeyDown

▸ **processKeyDown**(`event`, `context?`): `boolean`

Processes key down in display mode.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `event` | `KeyboardEvent` | The KeyboardEvent. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`boolean`

Returns `true` if the process is successful; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[processKeyDown](GC.Spread.Sheets.CellTypes.Base#processkeydown)

___

### <a id="processkeyup" name="processkeyup"></a> processKeyUp

▸ **processKeyUp**(`event`, `context?`): `boolean`

Processes key up in display mode.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `event` | `KeyboardEvent` | The KeyboardEvent. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`boolean`

Returns `true` if the process is successful; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[processKeyUp](GC.Spread.Sheets.CellTypes.Base#processkeyup)

___

### <a id="processmousedown" name="processmousedown"></a> processMouseDown

▸ **processMouseDown**(`hitInfo`): `boolean`

Processes mouse down in display mode.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `hitInfo` | [`IHitTestCellTypeHitInfo`](../interfaces/GC.Spread.Sheets.IHitTestCellTypeHitInfo) | The hit test information returned by the getHitInfo method. See the Remarks for more information. |

#### Returns

`boolean`

Returns `true` if the process is successful; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[processMouseDown](GC.Spread.Sheets.CellTypes.Base#processmousedown)

___

### <a id="processmouseenter" name="processmouseenter"></a> processMouseEnter

▸ **processMouseEnter**(`hitInfo`): `boolean`

Processes mouse enter in display mode.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `hitInfo` | [`IHitTestCellTypeHitInfo`](../interfaces/GC.Spread.Sheets.IHitTestCellTypeHitInfo) | The hit test information returned by the getHitInfo method. See the Remarks for more information. |

#### Returns

`boolean`

Returns `true` if the process is successful; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[processMouseEnter](GC.Spread.Sheets.CellTypes.Base#processmouseenter)

___

### <a id="processmouseleave" name="processmouseleave"></a> processMouseLeave

▸ **processMouseLeave**(`hitInfo`): `boolean`

Processes mouse leave in display mode.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `hitInfo` | [`IHitTestCellTypeHitInfo`](../interfaces/GC.Spread.Sheets.IHitTestCellTypeHitInfo) | The hit test information returned by the getHitInfo method. See the Remarks for more information. |

#### Returns

`boolean`

Returns `true` if the process is successful; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[processMouseLeave](GC.Spread.Sheets.CellTypes.Base#processmouseleave)

___

### <a id="processmousemove" name="processmousemove"></a> processMouseMove

▸ **processMouseMove**(`hitInfo`): `boolean`

Processes mouse move in display mode.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `hitInfo` | [`IHitTestCellTypeHitInfo`](../interfaces/GC.Spread.Sheets.IHitTestCellTypeHitInfo) | The hit test information returned by the getHitInfo method. See the Remarks for more information. |

#### Returns

`boolean`

Returns `true` if the process is successful; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[processMouseMove](GC.Spread.Sheets.CellTypes.Base#processmousemove)

___

### <a id="processmouseup" name="processmouseup"></a> processMouseUp

▸ **processMouseUp**(`hitInfo`): `boolean`

Processes mouse up in display mode.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `hitInfo` | [`IHitTestCellTypeHitInfo`](../interfaces/GC.Spread.Sheets.IHitTestCellTypeHitInfo) | The hit test information returned by the getHitInfo method. See the Remarks for more information. |

#### Returns

`boolean`

Returns `true` if the process is successful; otherwise, `false`.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[processMouseUp](GC.Spread.Sheets.CellTypes.Base#processmouseup)

___

### <a id="selectall" name="selectall"></a> selectAll

▸ **selectAll**(`editorContext`, `context?`): `void`

Selects all the text in the editor DOM element.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[selectAll](GC.Spread.Sheets.CellTypes.Base#selectall)

___

### <a id="seteditorvalue" name="seteditorvalue"></a> setEditorValue

▸ **setEditorValue**(`editorContext`, `value`, `context?`): `void`

Sets the editor's value.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `value` | `any` | The value returned from the active cell. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[setEditorValue](GC.Spread.Sheets.CellTypes.Base#seteditorvalue)

___

### <a id="tojson" name="tojson"></a> toJSON

▸ **toJSON**(): `any`

Saves the object state to a JSON string.

#### Returns

`any`

The cell type data.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[toJSON](GC.Spread.Sheets.CellTypes.Base#tojson)

___

### <a id="updateeditor" name="updateeditor"></a> updateEditor

▸ **updateEditor**(`editorContext`, `cellStyle`, `cellRect`, `context?`): [`Rect`](GC.Spread.Sheets.Rect)

Updates the editor's size.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `cellStyle` | [`Style`](GC.Spread.Sheets.Style) | The cell's actual style. |
| `cellRect` | [`Rect`](GC.Spread.Sheets.Rect) | The cell's layout information. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

[`Rect`](GC.Spread.Sheets.Rect)

Returns the new size for cell wrapper element, it should contain two properties 'width' and 'height'.

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[updateEditor](GC.Spread.Sheets.CellTypes.Base#updateeditor)

___

### <a id="updateeditorcontainer" name="updateeditorcontainer"></a> updateEditorContainer

▸ **updateEditorContainer**(`editorContext`, `editorBounds`, `cellStyle`): `void`

Updates the cell wrapper element size.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `editorBounds` | [`Rect`](GC.Spread.Sheets.Rect) | The cell wrapper element's new size. |
| `cellStyle` | [`Style`](GC.Spread.Sheets.Style) | The cell's actual style. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[updateEditorContainer](GC.Spread.Sheets.CellTypes.Base#updateeditorcontainer)

___

### <a id="updateimemode" name="updateimemode"></a> updateImeMode

▸ **updateImeMode**(`editorContext`, `imeMode`, `context?`): `void`

Updates the editor's ime-mode.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `editorContext` | `HTMLElement` | The DOM element that was created by the createEditorElement method. |
| `imeMode` | [`ImeMode`](../enums/GC.Spread.Sheets.ImeMode) | The ime-mode from cell's actual style. |
| `context?` | `any` | The context associated with the cell type. See the Remarks for more information. |

#### Returns

`void`

#### Inherited from

[Base](GC.Spread.Sheets.CellTypes.Base).[updateImeMode](GC.Spread.Sheets.CellTypes.Base#updateimemode)

___

### <a id="valuepath" name="valuepath"></a> valuePath

▸ **valuePath**(`value?`): `string`

Gets or sets the value path for fileUpload cellType, the cell will get vale by the valuePath from the cell fileInfo.

**`example`**
```javascript
// This example creates a file upload cell and setValue with dataUrl.
const fileUpload = new GC.Spread.Sheets.CellTypes.FileUpload();
fileUpload.valuePath("dataUrl"); // set valuePath dataUrl, default is dataUrl
activeSheet.getCell(1, 1).cellType(fileUpload);
activeSheet.setValue(1, 1, 'data:text/plain;base64,MQ==')
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` | The value path value. |

#### Returns

`string`

If no value is set, return current value path, the default value path is dataUrl.
