# Features

The table was designed to be *extremely flexible and light*; it doesn't make any assumptions about your data or how you: filter, sort or page it. That said, we wanted to keep the features strictly related to dealing with the data rather than implementing complex filtering/etc that is often very use-case specific. The current features include:

* Handle large data sets ( Virtual DOM )
* Expressive Header and Cell Templates
* Horizontal & Vertical Scrolling
* Column Reordering & Resizing
* Client/Server side Pagination & Sorting
* Intelligent Column Width Algorithms ( Force-fill & Flex-grow )
* Integrated Pager
* Cell & Row Selection ( Single, Multi, Keyboard, Checkbox )
* Fixed AND Fluid height
* Left and Right Column Pinning
* Row Detail View
* Decoupled theme'ing with included Google Material theme
* Light codebase / No external dependencies

## Roadmap

We are really excited about the table and wanted to get it out into the open as quickly as possible so we had to delay some of the features but we plan to add the following:

* Touch selection
* Tree Grids
* Row Grouping

## Alternatives

This might not be the best fit for you given the above, there are some other great solutions and some this project borrows from; heres a short list:

* [ng2-super-table](https://github.com/andyperlitch/ng2-super-table)
* [ng2-table](https://github.com/valor-software/ng2-table)
* [vaadin-grid](https://github.com/vaadin/vaadin-grid)
* [iron-data-table](https://github.com/Saulis/iron-data-table/)
* [paper-datatable](https://github.com/David-Mulder/paper-datatable)


---

# 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/readme/features.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.
