# resolveColumnPaste

> _Since v3.0.0_

Resolve a column's ColumnPasteGuard (`onPaste`) for a single cell.

Pure — never mutates or emits. Exposed so a **custom `pasteHandler`** can honor
per-column `onPaste` identically to defaultPasteHandler: call it per
cell, write `resolution.value` when accepted, and collect the rejected cells to
pass to emitPasteRejected.

```ts
function resolveColumnPaste(onPaste: ColumnPasteGuard<unknown, unknown> | undefined, ctx: PasteCellContext): PasteResolution
```

## Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| `onPaste` | <code><a href="/grid/plugins/clipboard/types/columnpasteguard/">ColumnPasteGuard</a>&lt;unknown, unknown&gt; &#124; undefined</code> | The column's `onPaste` config (`column.onPaste`), if any. |
| `ctx` | <code><a href="/grid/plugins/clipboard/interfaces/pastecellcontext/">PasteCellContext</a></code> | The cell context (value, field, row, rowIndex, oldValue, sourceField). |

## Example

```ts
// Inside a custom pasteHandler:
const rejected: PasteRejectedCell[] = [];
const res = resolveColumnPaste(column.onPaste, { value, field, row, rowIndex, oldValue });
if (res.accepted) row[field] = res.value;
else rejected.push({ field, rowIndex, row, value, reason: res.reason });
// …after writing all cells:
emitPasteRejected(grid, rejected);
```
