1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
//! This example demonstrates using the [`Disable`] [`TableOption`] to remove specific
//! cell data from a [`Table`] display.
//!
//! * ⚠️ Using [`Disable`] in combination with other [`Style`] customizations may yield unexpected results.
//! It is safest to use [`Disable`] last in a chain of alterations.
use tabled::{
settings::{
location::ByColumnName,
style::{Border, Style},
Disable,
},
Table, Tabled,
};
#[derive(Tabled)]
struct Distribution {
name: &'static str,
based_on: &'static str,
is_active: bool,
is_cool: bool,
}
impl Distribution {
fn new(name: &'static str, based_on: &'static str, is_active: bool, is_cool: bool) -> Self {
Self {
name,
based_on,
is_active,
is_cool,
}
}
}
fn main() {
let data = [
Distribution::new("Debian", "", true, true),
Distribution::new("Arch", "", true, true),
Distribution::new("Manjaro", "Arch", true, true),
];
let mut table = Table::new(data);
table
.with(Style::markdown())
.with(Disable::column(ByColumnName::new("is_active")))
.modify(ByColumnName::new("name"), Border::filled('#'));
println!("{table}");
}
|