Struct tui::widgets::Table[][src]

pub struct Table<'a> { /* fields omitted */ }
Expand description

A widget to display data in formatted columns.

It is a collection of Rows, themselves composed of Cells:

Table::new(vec![
    // Row can be created from simple strings.
    Row::new(vec!["Row11", "Row12", "Row13"]),
    // You can style the entire row.
    Row::new(vec!["Row21", "Row22", "Row23"]).style(Style::default().fg(Color::Blue)),
    // If you need more control over the styling you may need to create Cells directly
    Row::new(vec![
        Cell::from("Row31"),
        Cell::from("Row32").style(Style::default().fg(Color::Yellow)),
        Cell::from(Spans::from(vec![
            Span::raw("Row"),
            Span::styled("33", Style::default().fg(Color::Green))
        ])),
    ]),
    // If a Row need to display some content over multiple lines, you just have to change
    // its height.
    Row::new(vec![
        Cell::from("Row\n41"),
        Cell::from("Row\n42"),
        Cell::from("Row\n43"),
    ]).height(2),
])
// You can set the style of the entire Table.
.style(Style::default().fg(Color::White))
// It has an optional header, which is simply a Row always visible at the top.
.header(
    Row::new(vec!["Col1", "Col2", "Col3"])
        .style(Style::default().fg(Color::Yellow))
        // If you want some space between the header and the rest of the rows, you can always
        // specify some margin at the bottom.
        .bottom_margin(1)
)
// As any other widget, a Table can be wrapped in a Block.
.block(Block::default().title("Table"))
// Columns widths are constrained in the same way as Layout...
.widths(&[Constraint::Length(5), Constraint::Length(5), Constraint::Length(10)])
// ...and they can be separated by a fixed spacing.
.column_spacing(1)
// If you wish to highlight a row in any specific way when it is selected...
.highlight_style(Style::default().add_modifier(Modifier::BOLD))
// ...and potentially show a symbol in front of the selection.
.highlight_symbol(">>");

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Draws the current state of the widget in the given buffer. That the only method required to implement a custom widget. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.