# ColumnInferenceMode

> _Since v2.17.0_

How automatic column inference combines with explicitly provided columns.

- `'auto'` (default): infer columns only when none are provided. Declaring a
  single column (via `columns`, `gridConfig.columns`, or `<tbw-grid-column>`)
  disables inference and renders only the declared column(s).
- `'merge'`: always infer the full column set from the data (in data-key
  order), then overlay any explicitly provided columns matched by `field`.
  A provided column customizes only its own field and keeps its data
  position; provided columns for fields absent from the data are appended as
  computed columns.

Use `ColumnInferenceModeEnum` to access individual values by key.

Column inference mode — see `ColumnInferenceModeEnum` for values.

```ts
type ColumnInferenceMode = typeof ColumnInferenceModeEnum[keyof typeof ColumnInferenceModeEnum]
```

## Runtime Values

Use `ColumnInferenceModeEnum` to reference these values from runtime code:

```ts
const ColumnInferenceModeEnum = {
  AUTO: 'auto',
  MERGE: 'merge',
} as const;
```

| Key | Value |
| --- | ----- |
| `AUTO` | `'auto'` |
| `MERGE` | `'merge'` |
