pub struct Row<'a> { /* private fields */ }Expand description
A single row of data to be displayed in a Table widget.
A Row is a collection of Cells.
By default, a row has a height of 1 but you can change this using Row::height.
You can set the style of the entire row using Row::style. This Style will be combined
with the Style of each individual Cell by adding the Style of the Cell to the
Style of the Row.
§Examples
You can create Rows from simple strings.
use ratatui::widgets::Row;
Row::new(vec!["Cell1", "Cell2", "Cell3"]);If you need a bit more control over individual cells, you can explicitly create Cells:
use ratatui::{
style::Stylize,
widgets::{Cell, Row},
};
Row::new(vec![
Cell::from("Cell1"),
Cell::from("Cell2").red().italic(),
]);You can also construct a row from any type that can be converted into Text:
use std::borrow::Cow;
use ratatui::widgets::{Cell, Row};
Row::new(vec![
Cow::Borrowed("hello"),
Cow::Owned("world".to_uppercase()),
]);An iterator whose item type is convertible into Text can be collected into a row.
use ratatui::widgets::Row;
(0..10).map(|i| format!("{i}")).collect::<Row>();Row implements Styled which means you can use style shorthands from the Stylize trait
to set the style of the row concisely.
use ratatui::{style::Stylize, widgets::Row};
let cells = vec!["Cell1", "Cell2", "Cell3"];
Row::new(cells).red().italic();Implementations§
Source§impl<'a> Row<'a>
impl<'a> Row<'a>
Sourcepub fn new<T>(cells: T) -> Self
pub fn new<T>(cells: T) -> Self
Creates a new Row
The cells parameter accepts any value that can be converted into an iterator of anything
that can be converted into a Cell (e.g. Vec<&str>, &[Cell<'a>], Vec<String>, etc.)
§Examples
use ratatui::widgets::{Cell, Row};
let row = Row::new(vec!["Cell 1", "Cell 2", "Cell 3"]);
let row = Row::new(vec![
Cell::new("Cell 1"),
Cell::new("Cell 2"),
Cell::new("Cell 3"),
]);Sourcepub fn cells<T>(self, cells: T) -> Self
pub fn cells<T>(self, cells: T) -> Self
Set the cells of the Row
The cells parameter accepts any value that can be converted into an iterator of anything
that can be converted into a Cell (e.g. Vec<&str>, &[Cell<'a>], Vec<String>, etc.)
This is a fluent setter method which must be chained or used as it consumes self
§Examples
use ratatui::widgets::{Cell, Row};
let row = Row::default().cells(vec!["Cell 1", "Cell 2", "Cell 3"]);
let row = Row::default().cells(vec![
Cell::new("Cell 1"),
Cell::new("Cell 2"),
Cell::new("Cell 3"),
]);Sourcepub const fn height(self, height: u16) -> Self
pub const fn height(self, height: u16) -> Self
Set the fixed height of the Row
Any Cell whose content has more lines than this height will see its content truncated.
By default, the height is 1.
This is a fluent setter method which must be chained or used as it consumes self
§Examples
use ratatui::widgets::Row;
let cells = vec!["Cell 1\nline 2", "Cell 2", "Cell 3"];
let row = Row::new(cells).height(2);Sourcepub const fn top_margin(self, margin: u16) -> Self
pub const fn top_margin(self, margin: u16) -> Self
Set the top margin. By default, the top margin is 0.
The top margin is the number of blank lines to be displayed before the row.
This is a fluent setter method which must be chained or used as it consumes self
§Examples
use ratatui::widgets::Row;
let cells = vec!["Cell 1", "Cell 2", "Cell 3"];
let row = Row::default().top_margin(1);Sourcepub const fn bottom_margin(self, margin: u16) -> Self
pub const fn bottom_margin(self, margin: u16) -> Self
Set the bottom margin. By default, the bottom margin is 0.
The bottom margin is the number of blank lines to be displayed after the row.
This is a fluent setter method which must be chained or used as it consumes self
§Examples
use ratatui::widgets::Row;
let cells = vec!["Cell 1", "Cell 2", "Cell 3"];
let row = Row::default().bottom_margin(1);Sourcepub fn style<S: Into<Style>>(self, style: S) -> Self
pub fn style<S: Into<Style>>(self, style: S) -> Self
Set the Style of the entire row
style accepts any type that is convertible to Style (e.g. Style, Color, or
your own type that implements Into<Style>).
This Style can be overridden by the Style of a any individual Cell or by their
Text content.
This is a fluent setter method which must be chained or used as it consumes self
§Examples
use ratatui::{
style::{Style, Stylize},
widgets::Row,
};
let cells = vec!["Cell 1", "Cell 2", "Cell 3"];
let row = Row::new(cells).style(Style::new().red().italic());Row also implements the Styled trait, which means you can use style shorthands from
the Stylize trait to set the style of the widget more concisely.
use ratatui::{style::Stylize, widgets::Row};
let cells = vec!["Cell 1", "Cell 2", "Cell 3"];
let row = Row::new(cells).red().italic();Trait Implementations§
Source§impl<'a, Item> FromIterator<Item> for Row<'a>
impl<'a, Item> FromIterator<Item> for Row<'a>
Source§fn from_iter<IterCells: IntoIterator<Item = Item>>(cells: IterCells) -> Self
fn from_iter<IterCells: IntoIterator<Item = Item>>(cells: IterCells) -> Self
impl<'a> Eq for Row<'a>
impl<'a> StructuralPartialEq for Row<'a>
Auto Trait Implementations§
impl<'a> Freeze for Row<'a>
impl<'a> RefUnwindSafe for Row<'a>
impl<'a> Send for Row<'a>
impl<'a> Sync for Row<'a>
impl<'a> Unpin for Row<'a>
impl<'a> UnwindSafe for Row<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<'a, T, U> Stylize<'a, T> for Uwhere
U: Styled<Item = T>,
impl<'a, T, U> Stylize<'a, T> for Uwhere
U: Styled<Item = T>,
fn bg<C>(self, color: C) -> T
fn fg<C>(self, color: C) -> T
fn add_modifier(self, modifier: Modifier) -> T
fn remove_modifier(self, modifier: Modifier) -> T
fn reset(self) -> T
Source§fn on_magenta(self) -> T
fn on_magenta(self) -> T
magenta.Source§fn on_dark_gray(self) -> T
fn on_dark_gray(self) -> T
dark_gray.Source§fn on_light_red(self) -> T
fn on_light_red(self) -> T
light_red.Source§fn light_green(self) -> T
fn light_green(self) -> T
light_green.Source§fn on_light_green(self) -> T
fn on_light_green(self) -> T
light_green.Source§fn light_yellow(self) -> T
fn light_yellow(self) -> T
light_yellow.Source§fn on_light_yellow(self) -> T
fn on_light_yellow(self) -> T
light_yellow.Source§fn light_blue(self) -> T
fn light_blue(self) -> T
light_blue.Source§fn on_light_blue(self) -> T
fn on_light_blue(self) -> T
light_blue.Source§fn light_magenta(self) -> T
fn light_magenta(self) -> T
light_magenta.Source§fn on_light_magenta(self) -> T
fn on_light_magenta(self) -> T
light_magenta.Source§fn light_cyan(self) -> T
fn light_cyan(self) -> T
light_cyan.Source§fn on_light_cyan(self) -> T
fn on_light_cyan(self) -> T
light_cyan.Source§fn not_italic(self) -> T
fn not_italic(self) -> T
ITALIC modifier.Source§fn underlined(self) -> T
fn underlined(self) -> T
UNDERLINED modifier.Source§fn not_underlined(self) -> T
fn not_underlined(self) -> T
UNDERLINED modifier.Source§fn slow_blink(self) -> T
fn slow_blink(self) -> T
SLOW_BLINK modifier.Source§fn not_slow_blink(self) -> T
fn not_slow_blink(self) -> T
SLOW_BLINK modifier.Source§fn rapid_blink(self) -> T
fn rapid_blink(self) -> T
RAPID_BLINK modifier.Source§fn not_rapid_blink(self) -> T
fn not_rapid_blink(self) -> T
RAPID_BLINK modifier.Source§fn not_reversed(self) -> T
fn not_reversed(self) -> T
REVERSED modifier.HIDDEN modifier.HIDDEN modifier.Source§fn crossed_out(self) -> T
fn crossed_out(self) -> T
CROSSED_OUT modifier.Source§fn not_crossed_out(self) -> T
fn not_crossed_out(self) -> T
CROSSED_OUT modifier.