> For the complete documentation index, see [llms.txt](https://swimlane.gitbook.io/ngx-datatable/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://swimlane.gitbook.io/ngx-datatable/api/column/modes.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
