# GridCellValueChangedDetail

Fields, allowed values, and APIs that use GridCellValueChangedDetail.

Canonical: https://grid.syidax.com/docs/types/GridCellValueChangedDetail/

<a id="definition"></a>

## Type definition

A question mark (?) marks an optional field; readonly marks a value you should not change directly. A union (|) accepts one of the listed forms. Functions are callbacks that Grid invokes at the relevant point.

```typescript
export interface GridCellValueChangedDetail<
  TData = GridData,
  TValue = unknown,
  TContext = unknown,
> {
  rowIndex: number;
  sourceRowIndex?: number;
  colIndex: number;
  field: string;
  rowId: string | number;
  oldValue: TValue;
  newValue: TValue;
  data: Readonly<TData>;
  context: TContext | undefined;
  source: GridEditSource;
  origin?: unknown;
  txId?: number;
}
```

<a id="used-by"></a>

## APIs using this type

- [clipboardPasted](https://grid.syidax.com/docs/events/clipboardPasted.md) — Reports paste results. Inspect applied/skipped counts, starting position, and actual changes together.
- [cellValueChanged](https://grid.syidax.com/docs/events/cellValueChanged.md) — Emitted when an actual cell value changes. Use the row, field, and before/after values for saving or activity history.

<a id="parents"></a>

## Contracts containing this type

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

<a id="related"></a>

## Related types

- [GridData](https://grid.syidax.com/docs/types/GridData.md)
- [GridEditSource](https://grid.syidax.com/docs/types/GridEditSource.md)
