# valueSetter

Custom logic for writing a converted value into the source row. Follow the return contract indicating whether a change occurred.

Canonical: https://grid.syidax.com/docs/columns/valueSetter/

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

## What does this API do?

Custom logic for writing a converted value into the source row. Follow the return contract indicating whether a change occurred.

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

## Exact input and result types

```typescript
valueSetter?: GridCallback<
    [ValueSetterParams<TData, TValue, TContext>],
    boolean | void
  >
```

| Item | Value |
| --- | --- |
| Required | Optional |
| Input type | GridCallback<<br>    [ValueSetterParams<TData, TValue, TContext>],<br>    boolean \| void<br>  > |

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

## Usage flow

Set this on an individual column object in columnDefs. Pass arrays, objects, and callbacks through JavaScript, and use new arrays or objects when applying changes.

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

## Read related types

- [GridCallback](https://grid.syidax.com/docs/types/GridCallback.md)
- [ValueSetterParams](https://grid.syidax.com/docs/types/ValueSetterParams.md)

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

## Feature explanations and examples

- [Cell and row editing](https://grid.syidax.com/docs/features/cell-editing.md) — Cell editing changes one value immediately; full-row editing commits multiple fields as one row operation. editor specifies the input UI, while editable controls write access.
