Skip to main content

Table

Struct Table 

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

A widget to display data in a table.

Implementations§

Source§

impl<'a> Table<'a>

Source

pub fn new( rows: impl IntoIterator<Item = Row>, widths: impl IntoIterator<Item = Constraint>, ) -> Self

Create a new table with the given rows and column width constraints.

Source

pub fn data_hash(self, hash: u64) -> Self

Set an explicit data hash to enable caching of filtered and sorted indices.

This is highly recommended for large tables. When provided, the table widget will cache the result of filtering and sorting in the TableState, skipping expensive O(N) re-evaluation on frames where the hash, filter, and sort parameters have not changed.

Source

pub fn header(self, header: Row) -> Self

Set the header row.

Source

pub fn block(self, block: Block<'a>) -> Self

Set the surrounding block.

Source

pub fn style(self, style: Style) -> Self

Set the base table style.

Source

pub fn highlight_style(self, style: Style) -> Self

Set the style for the selected row.

Source

pub fn theme(self, theme: TableTheme) -> Self

Set the table theme (base/states/effects).

Source

pub fn theme_phase(self, phase: f32) -> Self

Set the explicit animation phase for theme effects.

Phase is deterministic and should be supplied by the caller (e.g. from tick count).

Source

pub fn column_spacing(self, spacing: u16) -> Self

Set the spacing between columns.

Source

pub fn hit_id(self, id: HitId) -> Self

Set a hit ID for mouse interaction.

When set, each table row will register a hit region with the frame’s hit grid (if enabled). The hit data will be the row’s index, allowing click handlers to determine which row was clicked.

Trait Implementations§

Source§

impl Accessible for Table<'_>

Source§

fn accessibility_nodes(&self, area: Rect) -> Vec<A11yNodeInfo>

Return accessibility node(s) for this widget at the given bounds. Read more
Source§

impl<'a> Clone for Table<'a>

Source§

fn clone(&self) -> Table<'a>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for Table<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> Default for Table<'a>

Source§

fn default() -> Table<'a>

Returns the “default value” for a type. Read more
Source§

impl MeasurableWidget for Table<'_>

Source§

fn measure(&self, _available: Size) -> SizeConstraints

Measure the widget given available space. Read more
Source§

fn has_intrinsic_size(&self) -> bool

Quick check: does this widget have content-dependent sizing? Read more
Source§

impl<'a> StatefulWidget for Table<'a>

Source§

type State = TableState

The state type associated with this widget.
Source§

fn render(&self, area: Rect, frame: &mut Frame<'_>, state: &mut Self::State)

Render the widget into the frame, potentially modifying state. Read more
Source§

impl<'a> Widget for Table<'a>

Source§

fn render(&self, area: Rect, frame: &mut Frame<'_>)

Render the widget into the frame at the given area. Read more
Source§

fn is_essential(&self) -> bool

Whether this widget is essential and should always render. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Table<'a>

§

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> UnsafeUnpin for Table<'a>

§

impl<'a> UnwindSafe for Table<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more