# cellRenderer

Displays cells through text, html, vnode, or a registered custom renderer.

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

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

## What does this API do?

Displays cells through text, html, vnode, or a registered custom renderer.

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

## Exact input and result types

```typescript
cellRenderer?: | string
    | CellRenderer<TData, TValue>
    | GridRendererDefinition<TData, TValue, TContext>
```

| Item | Value |
| --- | --- |
| Required | Optional |
| Input type | \| string<br>    \| CellRenderer<TData, TValue><br>    \| GridRendererDefinition<TData, TValue, TContext> |

<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

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

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

## Feature explanations and examples

- [Customize cell appearance](https://grid.syidax.com/docs/features/custom-cells.md) — Cell renderers change how data is displayed. Use them for status badges, links, and action buttons while retaining the original values for sorting and filtering.
