# GC.Spread.Sheets.CellState.CellStateManager

## Content

# Class: CellStateManager

[Sheets](../modules/GC.Spread.Sheets).[CellState](../modules/GC.Spread.Sheets.CellState).CellStateManager

## Table of contents

### Constructors

- [constructor](GC.Spread.Sheets.CellState.CellStateManager#constructor)

### Methods

- [add](GC.Spread.Sheets.CellState.CellStateManager#add)
- [clear](GC.Spread.Sheets.CellState.CellStateManager#clear)

## Constructors

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

• **new CellStateManager**(`sheet`)

Represents a cellstate manager that can manage all cell state in a sheet.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `sheet` | [`Worksheet`](GC.Spread.Sheets.Worksheet) | The worksheet. |

## Methods

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

▸ **add**(`range`, `state`, `style`, `sheetArea?`): `void`

**`description`** Add cell state instance for range , which will apply style of cellState when the state of range cell matched.

**`example`**
```javascript
var style = new  GC.Spread.Sheets.Style();
style.backColor = 'blue';
style.foreColor = 'red';
var range = new GC.Spread.Sheets.Range(1,2,3,3);
sheet.cellStates.add(range, GC.Spread.Sheets.CellStatesType.hover, style, GC.Spread.Sheets.SheetArea.viewport);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `range` | [`Range`](GC.Spread.Sheets.Range) | The scope range which will apply style of cellState. |
| `state` | [`CellStatesType`](../enums/GC.Spread.Sheets.CellStatesType) | Which state will use style. |
| `style` | [`Style`](GC.Spread.Sheets.Style) | Which style when the state is matched. |
| `sheetArea?` | [`SheetArea`](../enums/GC.Spread.Sheets.SheetArea) | The sheet area. If this parameter is not provided, it defaults to `viewport`. |

#### Returns

`void`

___

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

▸ **clear**(`range`, `sheetArea`): `void`

**`description`** Clear all style by range, after clear there are no style will be applied when the cell state is matched.

**`example`**
```javascript
var range = new GC.Spread.Sheets.Range(1,2,3,3);
sheet.cellStates.clear(range, GC.Spread.Sheets.SheetArea.viewport);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `range` | [`Range`](GC.Spread.Sheets.Range) | The scope range for clear. |
| `sheetArea` | [`SheetArea`](../enums/GC.Spread.Sheets.SheetArea) | The sheet area. If this parameter is not provided, it defaults to `viewport`. |

#### Returns

`void`
