# GC.Spread.Sheets.Shapes.ConnectorShape

## Content

# Class: ConnectorShape

[Sheets](../modules/GC.Spread.Sheets).[Shapes](../modules/GC.Spread.Sheets.Shapes).ConnectorShape

## Hierarchy

- [`ShapeBase`](GC.Spread.Sheets.Shapes.ShapeBase)

  ↳ **`ConnectorShape`**

## Table of contents

### Constructors

- [constructor](GC.Spread.Sheets.Shapes.ConnectorShape#constructor)

### Methods

- [adjustments](GC.Spread.Sheets.Shapes.ConnectorShape#adjustments)
- [allowMove](GC.Spread.Sheets.Shapes.ConnectorShape#allowmove)
- [allowResize](GC.Spread.Sheets.Shapes.ConnectorShape#allowresize)
- [allowRotate](GC.Spread.Sheets.Shapes.ConnectorShape#allowrotate)
- [alt](GC.Spread.Sheets.Shapes.ConnectorShape#alt)
- [canPrint](GC.Spread.Sheets.Shapes.ConnectorShape#canprint)
- [dynamicMove](GC.Spread.Sheets.Shapes.ConnectorShape#dynamicmove)
- [dynamicSize](GC.Spread.Sheets.Shapes.ConnectorShape#dynamicsize)
- [endColumn](GC.Spread.Sheets.Shapes.ConnectorShape#endcolumn)
- [endColumnOffset](GC.Spread.Sheets.Shapes.ConnectorShape#endcolumnoffset)
- [endConnector](GC.Spread.Sheets.Shapes.ConnectorShape#endconnector)
- [endRow](GC.Spread.Sheets.Shapes.ConnectorShape#endrow)
- [endRowOffset](GC.Spread.Sheets.Shapes.ConnectorShape#endrowoffset)
- [getFormula](GC.Spread.Sheets.Shapes.ConnectorShape#getformula)
- [height](GC.Spread.Sheets.Shapes.ConnectorShape#height)
- [hyperlink](GC.Spread.Sheets.Shapes.ConnectorShape#hyperlink)
- [isLocked](GC.Spread.Sheets.Shapes.ConnectorShape#islocked)
- [isSelected](GC.Spread.Sheets.Shapes.ConnectorShape#isselected)
- [isVisible](GC.Spread.Sheets.Shapes.ConnectorShape#isvisible)
- [name](GC.Spread.Sheets.Shapes.ConnectorShape#name)
- [setFormula](GC.Spread.Sheets.Shapes.ConnectorShape#setformula)
- [showHandle](GC.Spread.Sheets.Shapes.ConnectorShape#showhandle)
- [startColumn](GC.Spread.Sheets.Shapes.ConnectorShape#startcolumn)
- [startColumnOffset](GC.Spread.Sheets.Shapes.ConnectorShape#startcolumnoffset)
- [startConnector](GC.Spread.Sheets.Shapes.ConnectorShape#startconnector)
- [startRow](GC.Spread.Sheets.Shapes.ConnectorShape#startrow)
- [startRowOffset](GC.Spread.Sheets.Shapes.ConnectorShape#startrowoffset)
- [style](GC.Spread.Sheets.Shapes.ConnectorShape#style)
- [toImageSrc](GC.Spread.Sheets.Shapes.ConnectorShape#toimagesrc)
- [toImageSrcAsync](GC.Spread.Sheets.Shapes.ConnectorShape#toimagesrcasync)
- [type](GC.Spread.Sheets.Shapes.ConnectorShape#type)
- [width](GC.Spread.Sheets.Shapes.ConnectorShape#width)
- [x](GC.Spread.Sheets.Shapes.ConnectorShape#x)
- [y](GC.Spread.Sheets.Shapes.ConnectorShape#y)

## Constructors

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

• **new ConnectorShape**(`worksheet`, `name`, `connectorType?`, `beginX?`, `beginY?`, `endX?`, `endY?`)

A ConnectorShape is a type of line shape used to link two shapes together. It automatically anchors to the edges of the connected shapes and dynamically adjusts its path when those shapes are moved or resized, maintaining the connection.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `worksheet` | [`Worksheet`](GC.Spread.Sheets.Worksheet) | The host sheet of the shape. |
| `name` | `string` | The name of shape. |
| `connectorType?` | [`ConnectorType`](../enums/GC.Spread.Sheets.Shapes.ConnectorType) | The type of the connector shape. |
| `beginX?` | `number` | The <i>x</i> location of the start point for the connector shape. |
| `beginY?` | `number` | The <i>y</i> location of the start point for the connector shape. |
| `endX?` | `number` | The <i>x</i> location of the end point for the connector shape. |
| `endY?` | `number` | The <i>y</i> location of the end point for the connector shape. |

#### Overrides

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[constructor](GC.Spread.Sheets.Shapes.ShapeBase#constructor)

## Methods

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

▸ **adjustments**(`arrayValue?`): `any`

Gets or sets the adjustment values of the connector shape.

**`example`**
```javascript
var myConnector = sheet.shapes.addConnector("myConnector", GC.Spread.Sheets.Shapes.ConnectorType.elbow, 50, 50, 200, 500);
var adjustments = myConnector.adjustments();
console.log(adjustments);
adjustments = [-0.8];
myConnector.adjustments(adjustments);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `arrayValue?` | `number`[] | The adjustment values in array. |

#### Returns

`any`

if no value is set, returns the current adjustment values of the shape.

___

### <a id="allowmove" name="allowmove"></a> allowMove

▸ **allowMove**(`value?`): `any`

Gets or sets whether to disable moving the shape.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.allowMove();
heart.allowMove(!state);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The setting for whether to disable moving the shape. |

#### Returns

`any`

If no value is set, returns the setting for whether to disable moving the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[allowMove](GC.Spread.Sheets.Shapes.ShapeBase#allowmove)

___

### <a id="allowresize" name="allowresize"></a> allowResize

▸ **allowResize**(`value?`): `any`

Gets or sets the resize mode of the shape.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.allowResize();
heart.allowResize(GC.Spread.Sheets.Shapes.ResizeMode.aspect);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` \| [`ResizeMode`](../enums/GC.Spread.Sheets.Shapes.ResizeMode) | The setting for whether to disable resizing the shape. |

#### Returns

`any`

If no value is set, returns the setting for whether to disable resizing the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[allowResize](GC.Spread.Sheets.Shapes.ShapeBase#allowresize)

___

### <a id="allowrotate" name="allowrotate"></a> allowRotate

▸ **allowRotate**(`value?`): `any`

Gets or sets whether to disable rotating the shape.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.allowRotate();
heart.allowRotate(!state);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The setting for whether to disable rotating the shape. |

#### Returns

`any`

If no value is set, returns the setting for whether to disable rotating the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[allowRotate](GC.Spread.Sheets.Shapes.ShapeBase#allowrotate)

___

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

▸ **alt**(`value?`): `any`

Gets or sets the alternative text of the shape for screen readers.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
heart.alt("A heart shape");
```

#### Parameters

| Name | Type |
| :------ | :------ |
| `value?` | `string` |

#### Returns

`any`

The alternative text of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[alt](GC.Spread.Sheets.Shapes.ShapeBase#alt)

___

### <a id="canprint" name="canprint"></a> canPrint

▸ **canPrint**(`value?`): `any`

Gets or sets whether this shape is printable.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.canPrint(); // Get whether the shape is printable, defaulat value is true.
workbook.print(); // The heart shape is printed.
heart.canPrint(false);
workbook.print(); // The heart shape is not printed.
```

#### Parameters

| Name | Type |
| :------ | :------ |
| `value?` | `boolean` |

#### Returns

`any`

If no value is set, returns whether this shape is printable.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[canPrint](GC.Spread.Sheets.Shapes.ShapeBase#canprint)

___

### <a id="dynamicmove" name="dynamicmove"></a> dynamicMove

▸ **dynamicMove**(`value?`): `any`

Gets or sets whether the shape moves when hiding or showing, resizing, or moving rows or columns.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.dynamicMove();
heart.dynamicMove(!state);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The value indicates whether the shape moves when hiding or showing, resizing, or moving rows or columns. |

#### Returns

`any`

If no value is set, returns whether this shape dynamically moves.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[dynamicMove](GC.Spread.Sheets.Shapes.ShapeBase#dynamicmove)

___

### <a id="dynamicsize" name="dynamicsize"></a> dynamicSize

▸ **dynamicSize**(`value?`): `any`

Gets or sets whether the size of the shape changes when hiding or showing, resizing, or moving rows or columns.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.dynamicSize();
heart.dynamicSize(!state);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The value indicates whether the size of the shape changes when hiding or showing, resizing, or moving rows or columns. |

#### Returns

`any`

If no value is set, returns whether this shape dynamically changes size.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[dynamicSize](GC.Spread.Sheets.Shapes.ShapeBase#dynamicsize)

___

### <a id="endcolumn" name="endcolumn"></a> endColumn

▸ **endColumn**(`value?`): `any`

Gets or sets the end column index of the shape position.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.endColumn();
heart.endColumn(n + 1);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The end column index of the shape position. |

#### Returns

`any`

If no value is set, returns the end column index of the shape position.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[endColumn](GC.Spread.Sheets.Shapes.ShapeBase#endcolumn)

___

### <a id="endcolumnoffset" name="endcolumnoffset"></a> endColumnOffset

▸ **endColumnOffset**(`value?`): `any`

Gets or sets the offset relative to the end column of the shape.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.endColumnOffset();
heart.endColumnOffset(0);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The offset relative to the end column of the shape. |

#### Returns

`any`

If no value is set, returns the offset relative to the end column of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[endColumnOffset](GC.Spread.Sheets.Shapes.ShapeBase#endcolumnoffset)

___

### <a id="endconnector" name="endconnector"></a> endConnector

▸ **endConnector**(`connector?`): [`IShapeConnector`](../interfaces/GC.Spread.Sheets.Shapes.IShapeConnector)

Gets or sets the end connector info of the connectorShape.

**`example`**
```javascript
var shape1 = sheet.shapes.add("myShape1", GC.Spread.Sheets.Shapes.AutoShapeType.rectangle, 62 * 9, 0, 200, 200);
var shape2 = sheet.shapes.addConnector("myShape", GC.Spread.Sheets.Shapes.ConnectorType.straight, 220, 120, 300, 120);
shape2.endConnector({name: shape1.name(), index: 2});
console.log(shape2.endConnector());
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `connector?` | [`IShapeConnector`](../interfaces/GC.Spread.Sheets.Shapes.IShapeConnector) | The end connector info of the connectorShape. |

#### Returns

[`IShapeConnector`](../interfaces/GC.Spread.Sheets.Shapes.IShapeConnector)

connectorInfo - If no value is set, returns the end connector info of the connectorShape. When the connectorShape has no end connector returns null.
connectorInfo.name {string} The name of the end connector.
connectorInfo.index {number} The connect point index of the end connector.
connectorInfo.shape {GC.Spread.Sheets.Shapes.Shape} The end connector.

___

### <a id="endrow" name="endrow"></a> endRow

▸ **endRow**(`value?`): `any`

Gets or sets the end row index of the shape position.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.endRow();
heart.endRow(n + 2);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The end row index of the shape position. |

#### Returns

`any`

If no value is set, returns the end row index of the shape position.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[endRow](GC.Spread.Sheets.Shapes.ShapeBase#endrow)

___

### <a id="endrowoffset" name="endrowoffset"></a> endRowOffset

▸ **endRowOffset**(`value?`): `any`

Gets or sets the offset relative to the end row of the shape.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.endRowOffset();
heart.endRowOffset(0);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The offset relative to the end row of the shape. |

#### Returns

`any`

If no value is set, returns the offset relative to the end row of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[endRowOffset](GC.Spread.Sheets.Shapes.ShapeBase#endrowoffset)

___

### <a id="getformula" name="getformula"></a> getFormula

▸ **getFormula**(`path`): `string`

Gets the formula string from the shape by the path.

**`example`**
```javascript
sheet.name("Sheet1");
sheet.setValue(0, 1, "red");
var myConnector = sheet.shapes.addConnector("myConnector", GC.Spread.Sheets.Shapes.ConnectorType.elbow, 50, 50, 200, 500);
myConnector.setFormula("style.line.color", "=Sheet1!B1");
myConnector.getFormula("style.line.color");//returns "=Sheet1!B1"
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `path` | `string` | The path which can accept a formula string, it could be one of "x", "y", "width", "height", "style.line.color", "style.line.lineStyle", "style.line.width", "style.line.capType", "style.line.joinType", "style.line.compoundType", "style.line.transparency". |

#### Returns

`string`

Returns the formula string from the shape by the path.

#### Overrides

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[getFormula](GC.Spread.Sheets.Shapes.ShapeBase#getformula)

___

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

▸ **height**(`value?`): `any`

Gets or sets the height of the shape.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.height();
heart.height(n + 50);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` \| `number` | The height of the shape specified by a number or formula (starts with =) can get a number value. |

#### Returns

`any`

If no value is set, returns the height of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[height](GC.Spread.Sheets.Shapes.ShapeBase#height)

___

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

▸ **hyperlink**(`value?`): `void` \| [`IHyperlink`](../interfaces/GC.Spread.Sheets.IHyperlink)

Gets or sets the hyperlink of the shape.

**`example`**
```javascript
var shape = sheet.shapes.add("myShape", GC.Spread.Sheets.Shapes.AutoShapeType.rectangle, 62 * 9, 0, 200, 200);
shape.hyperlink({url: "http://www.spreadjs.com", target: 0, tooltip: 'goes to SpreadJS'});
```

#### Parameters

| Name | Type |
| :------ | :------ |
| `value?` | [`IHyperlink`](../interfaces/GC.Spread.Sheets.IHyperlink) |

#### Returns

`void` \| [`IHyperlink`](../interfaces/GC.Spread.Sheets.IHyperlink)

If no value is set, returns the current hyperlink settings of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[hyperlink](GC.Spread.Sheets.Shapes.ShapeBase#hyperlink)

___

### <a id="islocked" name="islocked"></a> isLocked

▸ **isLocked**(`value?`): `any`

Gets or sets whether this shape is locked.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.isLocked();
heart.isLocked(!state);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The value that indicates whether this shape is locked. |

#### Returns

`any`

If no value is set, returns whether this shape is locked.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[isLocked](GC.Spread.Sheets.Shapes.ShapeBase#islocked)

___

### <a id="isselected" name="isselected"></a> isSelected

▸ **isSelected**(`value?`): `any`

Gets or sets whether this shape is selected.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.isSelected();
heart.isSelected(!state);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The value that indicates whether this shape is selected. |

#### Returns

`any`

If no value is set, returns whether this shape is selected.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[isSelected](GC.Spread.Sheets.Shapes.ShapeBase#isselected)

___

### <a id="isvisible" name="isvisible"></a> isVisible

▸ **isVisible**(`value?`): `any`

Gets or sets whether this shape is visible.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.isVisible();
heart.isVisible(!state);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The value that indicates whether this shape is visible. |

#### Returns

`any`

If no value is set, returns whether this shape is visible.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[isVisible](GC.Spread.Sheets.Shapes.ShapeBase#isvisible)

___

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

▸ **name**(`value?`): `any`

Gets or sets the name of the shape.

**`example`**
```javascript
var shape1 = sheet.shapes.add("myShape1", GC.Spread.Sheets.Shapes.AutoShapeType.rectangle, 62 * 9, 0, 200, 200);
var shape2 = sheet.shapes.add("myShape2", GC.Spread.Sheets.Shapes.AutoShapeType.rectangle, 20, 20, 200, 200);
var shape = sheet.shapes.group([shape1, shape2]);
shape.name("myGroupShape");
var shapeName = shape.name();
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` | The name of the shape. |

#### Returns

`any`

If no value is set, returns the name of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[name](GC.Spread.Sheets.Shapes.ShapeBase#name)

___

### <a id="setformula" name="setformula"></a> setFormula

▸ **setFormula**(`path`, `formula`): `void`

Sets the formula string to the shape by the path.

**`example`**
```javascript
sheet.name("Sheet1");
sheet.setValue(0, 1, "red");
var myConnector = sheet.shapes.addConnector("myConnector", GC.Spread.Sheets.Shapes.ConnectorType.elbow, 50, 50, 200, 500);
myConnector.setFormula("style.line.color", "=Sheet1!B1");
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `path` | `string` | The path which can accept a formula string, it could be one of "x", "y", "width", "height", "style.line.color", "style.line.lineStyle", "style.line.width", "style.line.capType", "style.line.joinType", "style.line.compoundType", "style.line.transparency". |
| `formula` | `string` | The formula string. |

#### Returns

`void`

#### Overrides

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[setFormula](GC.Spread.Sheets.Shapes.ShapeBase#setformula)

___

### <a id="showhandle" name="showhandle"></a> showHandle

▸ **showHandle**(`value?`): `any`

Gets or sets whether to show handle of shape.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.showHandle();
heart.showHandle(!state);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The setting for whether to show handle of shape. |

#### Returns

`any`

If no value is set, returns the setting for whether to show handle of shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[showHandle](GC.Spread.Sheets.Shapes.ShapeBase#showhandle)

___

### <a id="startcolumn" name="startcolumn"></a> startColumn

▸ **startColumn**(`value?`): `any`

Gets or sets the starting column index of the shape position.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.startColumn();
heart.startColumn(n + 2);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The starting column index of the shape position. |

#### Returns

`any`

If no value is set, returns the starting column index of the shape position.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[startColumn](GC.Spread.Sheets.Shapes.ShapeBase#startcolumn)

___

### <a id="startcolumnoffset" name="startcolumnoffset"></a> startColumnOffset

▸ **startColumnOffset**(`value?`): `any`

Gets or sets the offset relative to the start column of the shape.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.startColumnOffset();
heart.startColumnOffset(0);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The offset relative to the start column of the shape. |

#### Returns

`any`

If no value is set, returns the offset relative to the start column of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[startColumnOffset](GC.Spread.Sheets.Shapes.ShapeBase#startcolumnoffset)

___

### <a id="startconnector" name="startconnector"></a> startConnector

▸ **startConnector**(`connector?`): [`IShapeConnector`](../interfaces/GC.Spread.Sheets.Shapes.IShapeConnector)

Gets or sets the start connector info of the connectorShape.

**`example`**
```javascript
var shape1 = sheet.shapes.add("myShape1", GC.Spread.Sheets.Shapes.AutoShapeType.rectangle, 62 * 9, 0, 200, 200);
var shape2 = sheet.shapes.addConnector("myShape", GC.Spread.Sheets.Shapes.ConnectorType.straight, 220, 120, 300, 120);
shape2.startConnector({name: shape1.name(), index: 2});
console.log(shape2.startConnector());
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `connector?` | [`IShapeConnector`](../interfaces/GC.Spread.Sheets.Shapes.IShapeConnector) | The start connector info of the connectorShape. |

#### Returns

[`IShapeConnector`](../interfaces/GC.Spread.Sheets.Shapes.IShapeConnector)

connectorInfo - If no value is set, returns the start connector info of the connectorShape. When the connectorShape has no start connector returns return null.
connectorInfo.name {string} The name of the start connector.
connectorInfo.index {number} The connect point index of the start connector.
connectorInfo.shape {GC.Spread.Sheets.Shapes.Shape} The start connector.

___

### <a id="startrow" name="startrow"></a> startRow

▸ **startRow**(`value?`): `any`

Gets or sets the starting row index of the shape position.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.startRow();
heart.startRow(n + 2);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The starting row index of the shape position. |

#### Returns

`any`

If no value is set, returns the starting row index of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[startRow](GC.Spread.Sheets.Shapes.ShapeBase#startrow)

___

### <a id="startrowoffset" name="startrowoffset"></a> startRowOffset

▸ **startRowOffset**(`value?`): `any`

Gets or sets the offset relative to the start row of the shape.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.startRowOffset();
heart.startRowOffset(0);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The offset relative to the start row of the shape. |

#### Returns

`any`

If no value is set, returns the offset relative to the start row of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[startRowOffset](GC.Spread.Sheets.Shapes.ShapeBase#startrowoffset)

___

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

▸ **style**(`value?`): `void` \| [`ShapeStyle`](GC.Spread.Sheets.Shapes.ShapeStyle)

Gets or sets the style of the connector shape.

**`example`**
```javascript
//This sample sets style for the connector shape.
var shape = sheet.shapes.addConnector("Shape1", GC.Spread.Sheets.Shapes.ConnectorType.straight, 100, 60, 200, 160);
var oldStyle = shape.style();
oldStyle.line.color = "red";
oldStyle.line.lineStyle = GC.Spread.Sheets.Shapes.PresetLineDashStyle.dashDot;
oldStyle.line.width = 5;
oldStyle.line.capType = GC.Spread.Sheets.Shapes.LineCapStyle.square;
oldStyle.line.joinType = GC.Spread.Sheets.Shapes.LineJoinStyle.miter;
oldStyle.line.compoundType = GC.Spread.Sheets.Shapes.CompoundType.double;
oldStyle.line.transparency = 0.5;
oldStyle.line.beginArrowheadStyle = GC.Spread.Sheets.Shapes.ArrowheadStyle.triangle;
oldStyle.line.beginArrowheadWidth = GC.Spread.Sheets.Shapes.ArrowheadWidth.narrow;
oldStyle.line.beginArrowheadLength = GC.Spread.Sheets.Shapes.ArrowheadLength.short;
oldStyle.line.endArrowheadStyle = GC.Spread.Sheets.Shapes.ArrowheadStyle.diamond;
oldStyle.line.endArrowheadWidth = GC.Spread.Sheets.Shapes.ArrowheadWidth.wide;
oldStyle.line.endArrowheadLength = GC.Spread.Sheets.Shapes.ArrowheadLength.long;
shape.style(oldStyle);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | [`ShapeStyle`](GC.Spread.Sheets.Shapes.ShapeStyle) | The connector shape style. |

#### Returns

`void` \| [`ShapeStyle`](GC.Spread.Sheets.Shapes.ShapeStyle)

If no value is set, returns the current style of the connector shape.

___

### <a id="toimagesrc" name="toimagesrc"></a> toImageSrc

▸ **toImageSrc**(): `string`

Get the shape Image src of type Base64 string.

**`example`**
```javascript
let shapeImageSrc = sheet.shapes.all()[0].toImageSrc();
```

#### Returns

`string`

return the shape Image Base64 src string.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[toImageSrc](GC.Spread.Sheets.Shapes.ShapeBase#toimagesrc)

___

### <a id="toimagesrcasync" name="toimagesrcasync"></a> toImageSrcAsync

▸ **toImageSrcAsync**(): `Promise`<`string`\>

Get the shape Image src of type Base64 string.

**`example`**
```javascript
let shapeImageSrc = await sheet.shapes.all()[0].toImageSrcAsync();
```

#### Returns

`Promise`<`string`\>

return the shape Image Base64 src string.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[toImageSrcAsync](GC.Spread.Sheets.Shapes.ShapeBase#toimagesrcasync)

___

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

▸ **type**(): [`ConnectorType`](../enums/GC.Spread.Sheets.Shapes.ConnectorType)

Gets the connector type of the connectorShape.

**`example`**
```javascript
var shape = sheet.shapes.addConnector("myShape", GC.Spread.Sheets.Shapes.ConnectorType.straight, 220, 120, 300, 120);
var shapeName = shape.type();
```

#### Returns

[`ConnectorType`](../enums/GC.Spread.Sheets.Shapes.ConnectorType)

returns the connector type of the shape.

___

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

▸ **width**(`value?`): `any`

Gets or sets the width of the shape.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.width();
heart.width(n + 50);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` \| `number` | The width of the shape specified by a number or formula (starts with =) can get a number value. |

#### Returns

`any`

If no value is set, returns the width of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[width](GC.Spread.Sheets.Shapes.ShapeBase#width)

___

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

▸ **x**(`value?`): `any`

Gets or sets the horizontal location of the shape.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.x();
heart.x(n + 50);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` \| `number` | The horizontal location of the shape specified by a number or formula (starts with =) can get a number value. |

#### Returns

`any`

If no value is set, returns the horizontal location of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[x](GC.Spread.Sheets.Shapes.ShapeBase#x)

___

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

▸ **y**(`value?`): `any`

Gets or sets the vertical location of the shape.

**`example`**
```javascript
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.y();
heart.y(n + 50);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` \| `number` | The vertical location of the shape specified by a number or formula (starts with =) can get a number value. |

#### Returns

`any`

If no value is set, returns the vertical location of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[y](GC.Spread.Sheets.Shapes.ShapeBase#y)
