[](https://crates.io/crates/rat-ftable)
[](https://docs.rs/rat-ftable)
[](https://opensource.org/licenses/MIT)
[](https://www.apache.org/licenses/LICENSE-2.0)

This crate is a part of [rat-salsa][refRatSalsa].
For examples see [rat-ftable GitHub][refGitHubFTable].
# Table widget for ratatui
Can be used as a drop-in replacement for the ratatui table. But
that's not the point of this widget.
This widget uses the [TableData](crate::TableData) trait instead
of rendering all the table-cells and putting them into a Vec.
This way rendering time only depends on the screen-size not on
the size of your data.
There is a second trait [TableDataIter](crate::TableDataIter) that
works better if you only have an Iterator over your data.
> Caveat: If the Iterator doesn't have an efficient skip() or if you
> can't give the number of rows this will iterate all your data
> for the necessary information. This might slow down everything
> a bit.

More bullet points:
* Row and Column scrolling.
* Pluggable selection with [TableSelection](crate::TableSelection)
* Allows row/column/cell selection.
* Row/column/cell selection + Header/Footer selection each
with its own style.
* Key/mouse handling present.
Eventhandling is currently crossterm only.
[refRatSalsa]: https://docs.rs/rat-salsa/latest/rat_salsa/
[refGitHubFTable]: https://github.com/thscharler/rat-ftable/tree/master/examples