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 allow_drawer(self, allow: bool) -> Self
pub fn allow_drawer(self, allow: bool) -> Self
Enable row drawers. Rows with a .drawer() closure will show a clickable
arrow (> closed, v open) that expands a panel below the row.
Sourcepub fn drawer_row_height(self, height: f32) -> Self
pub fn drawer_row_height(self, height: f32) -> Self
Set the fixed height of expanded drawer panels (default: automatic sizing). If not set, drawer height will automatically adjust to fit its contents.
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. This sets a fixed minimum height for all rows.
Sourcepub fn auto_row_height(self, enabled: bool) -> Self
pub fn auto_row_height(self, enabled: bool) -> Self
Enable automatic row height calculation based on content. Each row will size independently to fit its content. You can still set a minimum height that will be respected.
Sourcepub fn min_row_height(self, height: f32) -> Self
pub fn min_row_height(self, height: f32) -> Self
Set minimum row height for auto-sizing mode. Only effective when auto_row_height is enabled.
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