pub struct MaterialDataTable<'a> { /* private fields */ }Expand description
Material Design data table component.
Data tables display sets of data across rows and columns. They organize information in a way that’s easy to scan.
// Basic data table
let mut table = MaterialDataTable::new()
.column("Name", 120.0, false)
.column("Age", 80.0, true)
.column("City", 100.0, false);
table.row(|row| {
row.cell("John Doe");
row.cell("25");
row.cell("New York");
});
ui.add(table);Implementations§
Source§impl<'a> MaterialDataTable<'a>
impl<'a> MaterialDataTable<'a>
Sourcepub fn sort_by(self, column_index: usize, direction: SortDirection) -> Self
pub fn sort_by(self, column_index: usize, direction: SortDirection) -> Self
Set the initial sort column and direction
Sourcepub fn get_sort_state(&self) -> (Option<usize>, SortDirection)
pub fn get_sort_state(&self) -> (Option<usize>, SortDirection)
Get current sorting state
Sourcepub fn column(self, title: impl Into<String>, width: f32, numeric: bool) -> Self
pub fn column(self, title: impl Into<String>, width: f32, numeric: bool) -> Self
Add a column to the data table.
Sourcepub fn sortable_column(
self,
title: impl Into<String>,
width: f32,
numeric: bool,
) -> Self
pub fn sortable_column( self, title: impl Into<String>, width: f32, numeric: bool, ) -> Self
Add a sortable column to the data table.
pub fn sortable_column_with_align( self, title: impl Into<String>, width: f32, numeric: bool, h_align: HAlign, v_align: VAlign, ) -> Self
Sourcepub fn column_with_align(
self,
title: impl Into<String>,
width: f32,
numeric: bool,
h_align: HAlign,
v_align: VAlign,
) -> Self
pub fn column_with_align( self, title: impl Into<String>, width: f32, numeric: bool, h_align: HAlign, v_align: VAlign, ) -> Self
Add a column with custom alignment
Sourcepub fn allow_selection(self, allow: bool) -> Self
pub fn allow_selection(self, allow: bool) -> Self
Enable row selection.
Sourcepub fn sticky_header(self, sticky: bool) -> Self
pub fn sticky_header(self, sticky: bool) -> Self
Make the header sticky.
Sourcepub fn show_progress(self, show: bool) -> Self
pub fn show_progress(self, show: bool) -> Self
Show progress indicator.
Sourcepub fn corner_radius(self, corner_radius: impl Into<CornerRadius>) -> Self
pub fn corner_radius(self, corner_radius: impl Into<CornerRadius>) -> Self
Set corner radius.
Sourcepub fn default_row_height(self, height: f32) -> Self
pub fn default_row_height(self, height: f32) -> Self
Set default row height in pixels.
Sourcepub fn theme(self, theme: DataTableTheme) -> Self
pub fn theme(self, theme: DataTableTheme) -> Self
Set custom theme for this table.
Sourcepub fn show(self, ui: &mut Ui) -> DataTableResponse
pub fn show(self, ui: &mut Ui) -> DataTableResponse
Show the data table and return both UI response and selection state
Trait Implementations§
Source§impl<'a> Default for MaterialDataTable<'a>
impl<'a> Default for MaterialDataTable<'a>
Auto Trait Implementations§
impl<'a> Freeze for MaterialDataTable<'a>
impl<'a> !RefUnwindSafe for MaterialDataTable<'a>
impl<'a> Send for MaterialDataTable<'a>
impl<'a> Sync for MaterialDataTable<'a>
impl<'a> Unpin for MaterialDataTable<'a>
impl<'a> UnsafeUnpin for MaterialDataTable<'a>
impl<'a> !UnwindSafe for MaterialDataTable<'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
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.