pub struct Table<'a> { /* private fields */ }
Expand description
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
sourceimpl<'a> Table<'a>
impl<'a> Table<'a>
pub fn new<T>(rows: T) -> Self where
T: IntoIterator<Item = Row<'a>>,
pub fn block(self, block: Block<'a>) -> Self
pub fn header(self, header: Row<'a>) -> Self
pub fn widths(self, widths: &'a [Constraint]) -> Self
pub fn style(self, style: Style) -> Self
pub fn highlight_symbol(self, highlight_symbol: &'a str) -> Self
pub fn highlight_style(self, highlight_style: Style) -> Self
pub fn column_spacing(self, spacing: u16) -> Self
Trait Implementations
sourceimpl<'a> StatefulWidget for Table<'a>
impl<'a> StatefulWidget for Table<'a>
impl<'a> Eq for Table<'a>
impl<'a> StructuralEq for Table<'a>
impl<'a> StructuralPartialEq for Table<'a>
Auto Trait Implementations
impl<'a> RefUnwindSafe for Table<'a>
impl<'a> Send for Table<'a>
impl<'a> Sync for Table<'a>
impl<'a> Unpin for Table<'a>
impl<'a> UnwindSafe for Table<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more