# 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)
- [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?`)

Represents a ConnectorShape.

#### 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`**
```
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`**
```
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`**
```
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`**
```
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.

#### Parameters

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

#### 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`**
```
var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.canPrint();
heart.canPrint(!state);
```

#### Parameters

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

#### 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`**
```
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`**
```
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`**
```
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`**
```
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`**
```
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);
var endConnector = shape.endConnector();
shape2.endConnector({name: shape1.name(), index: 2});
```

#### 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`**
```
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`**
```
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`**
```
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`**
```
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`**
```
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`**
```
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`**
```
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`**
```
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`**
```
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`**
```
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`**
```
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`**
```
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`**
```
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`**
```
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);
var startConnector = shape.startConnector();
shape2.startConnector({name: shape1.name(), index: 2});
```

#### 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`**
```
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`**
```
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`**
```
//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="type" name="type"></a> type

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

Gets the connector type of the connectorShape.

**`example`**
```
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`**
```
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`**
```
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`**
```
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)
