@using MudBlazor
@using System.Collections.Generic
Hover
Dense
Striped
Bordered
@code {
// Element类定义
public class Element
{
public int Number { get; set; }
public string Sign { get; set; }
public string Name { get; set; }
public int Position { get; set; }
public decimal Molar { get; set; }
}
// 示例数据
private IEnumerable Elements = new List
{
new Element { Number = 1, Sign = "H", Name = "Hydrogen", Position = 1, Molar = 1.008m },
new Element { Number = 2, Sign = "He", Name = "Helium", Position = 0, Molar = 4.0026m },
new Element { Number = 3, Sign = "Li", Name = "Lithium", Position = 1, Molar = 6.94m },
new Element { Number = 4, Sign = "Be", Name = "Beryllium", Position = 2, Molar = 9.0122m },
new Element { Number = 5, Sign = "B", Name = "Boron", Position = 13, Molar = 10.81m }
};
private bool _hover;
private bool _dense;
private bool _striped;
private bool _bordered;
// 行样式函数:Position为0的行显示为斜体
private Func _rowStyleFunc => (x, i) =>
{
if (x.Position == 0)
return "font-style:italic";
return "";
};
// 单元格样式函数:根据元素编号设置背景色,根据摩尔质量设置字体粗细
private Func _cellStyleFunc => x =>
{
string style = "";
if (x.Number == 1)
style += "background-color:#8CED8C"; // 浅绿色
else if (x.Number == 2)
style += "background-color:#E5BDE5"; // 浅紫色
else if (x.Number == 3)
style += "background-color:#EACE5D"; // 浅黄色
else if (x.Number == 4)
style += "background-color:#F1F165"; // 浅黄色
if (x.Molar > 5)
style += ";font-weight:bold";
return style;
};
}