textual/docs/widgets/data_table.md
Will McGugan df1edb087c
Merge pull request #1788 from Textualize/datatable-select-headers
DataTable - Message emitted when header selected
2023-02-14 16:42:01 +00:00

2.8 KiB

DataTable

A table widget optimized for displaying a lot of data.

  • Focusable
  • Container

Example

The example below populates a table with CSV data.

=== "Output"

```{.textual path="docs/examples/widgets/data_table.py"}
```

=== "data_table.py"

```python
--8<-- "docs/examples/widgets/data_table.py"
```

Reactive Attributes

Name Type Default Description
show_header bool True Show the table header
fixed_rows int 0 Number of fixed rows (rows which do not scroll)
fixed_columns int 0 Number of fixed columns (columns which do not scroll)
zebra_stripes bool False Display alternating colors on rows
header_height int 1 Height of header row
show_cursor bool True Show the cursor
cursor_type str "cell" One of "cell", "row", "column", or "none"
cursor_coordinate [Coordinate][textual.coordinate.Coordinate] Coordinate(0, 0) The current coordinate of the cursor
hover_coordinate [Coordinate][textual.coordinate.Coordinate] Coordinate(0, 0) The coordinate the mouse cursor is above

Messages

::: textual.widgets.DataTable.CellHighlighted

::: textual.widgets.DataTable.CellSelected

::: textual.widgets.DataTable.RowHighlighted

::: textual.widgets.DataTable.RowSelected

::: textual.widgets.DataTable.ColumnHighlighted

::: textual.widgets.DataTable.ColumnSelected

::: textual.widgets.DataTable.HeaderSelected

Bindings

The data table widget defines directly the following bindings:

::: textual.widgets.DataTable.BINDINGS options: show_root_heading: false show_root_toc_entry: false

Component Classes

The data table widget provides the following component classes:

::: textual.widgets.DataTable.COMPONENT_CLASSES options: show_root_heading: false show_root_toc_entry: false

See Also

  • [DataTable][textual.widgets.DataTable] code reference