# Modes

Column modes allow you to have a variety of different ways to apply column width distribution to the columns. The table comes with 3 modes; `standard`, `flex`, `force`.

## Standard

Columns are distributed given the width's defined in the column options.

## Flex

Flex mode distributes the width's grow factor relative to other columns. It works the same as the [flex-grow API](https://github.com/swimlane/ngx-datatable/tree/f84f828e5b2f6aa3cca8b7bda1a922d4ccee786a/docs/api/column/http%20=/www.w3.org/TR/css3-flexbox/README.md) in CSS. Basically it takes any available extra width and distribute it proportionally according to each column's `flexGrow` value.

Flex is **not** suggested for when using `scrollH`.

## Force

Force mode forces the widths of the columns to distribute equally but overflowing when the min-width of each column is reached. The rules are:

* If combined widths are less than the total width of the grid, proportion the widths given the min / max / normal widths to fill the width.
* If the combined widths, exceed the total width of the grid, use the standard widths.
* If a column is resized, it should always use that width.
* The proportional widths should never fall below min size if specified.
* If the grid starts off small but then becomes greater than the size ( + / - ) the width should use the original width; not the newly proportioned widths.

Force is usually the ideal column distribution method when columns do not need to be a fixed sized.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://swimlane.gitbook.io/ngx-datatable/api/column/modes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
