Struct tui::widgets::Table [−][src]
pub struct Table<'a> { /* fields omitted */ }
A widget to display data in formatted columns.
It is a collection of Row
s, themselves composed of Cell
s:
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
impl<'a> Table<'a>
[src]
impl<'a> Table<'a>
[src]pub fn new<T>(rows: T) -> Self where
T: IntoIterator<Item = Row<'a>>,
[src]
T: IntoIterator<Item = Row<'a>>,
pub fn block(self, block: Block<'a>) -> Self
[src]
pub fn header(self, header: Row<'a>) -> Self
[src]
pub fn widths(self, widths: &'a [Constraint]) -> Self
[src]
pub fn style(self, style: Style) -> Self
[src]
pub fn highlight_symbol(self, highlight_symbol: &'a str) -> Self
[src]
pub fn highlight_style(self, highlight_style: Style) -> Self
[src]
pub fn column_spacing(self, spacing: u16) -> Self
[src]
Trait Implementations
impl<'a> StatefulWidget for Table<'a>
[src]
impl<'a> StatefulWidget for Table<'a>
[src]impl<'a> StructuralPartialEq for Table<'a>
[src]
impl<'a> StructuralPartialEq for Table<'a>
[src]Auto Trait Implementations
impl<'a> RefUnwindSafe for Table<'a>
impl<'a> RefUnwindSafe for Table<'a>
impl<'a> UnwindSafe for Table<'a>
impl<'a> UnwindSafe for Table<'a>