# startRowDrag

Starts a row drag session through the public input contract. Check whether it started and any rejection reason.

Canonical: https://grid.syidax.com/docs/methods/startRowDrag/

<a id="meaning"></a>

## What does this API do?

Starts a row drag session through the public input contract. Check whether it started and any rejection reason.

<a id="contract"></a>

## Exact input and result types

```typescript
startRowDrag(input: SyGridRowDragStartInput): Promise<SyGridRowDragStartResult>
```

| Arguments | Required | Type |
| --- | --- | --- |
| input | Required | SyGridRowDragStartInput |

The return type is `Promise<SyGridRowDragStartResult>`.

<a id="usage"></a>

## Usage flow

After registering and initializing the Grid element, call grid.startRowDrag(…). Read the return value with await. For methods returning a boolean or report, inspect the result before continuing.

<a id="types"></a>

## Read related types

- [SyGridRowDragStartInput](https://grid.syidax.com/docs/types/SyGridRowDragStartInput.md)
- [SyGridRowDragStartResult](https://grid.syidax.com/docs/types/SyGridRowDragStartResult.md)

<a id="recipes"></a>

## Feature explanations and examples

- [Row dragging](https://grid.syidax.com/docs/features/row-drag.md) — Managed row dragging applies user-defined order to Grid data. Manual reordering can conflict with display order determined by sorting.
