原文连接:https://www.cnblogs.com/ysmc/p/16074645.html
BootstrapBlazor 官网地址:https://www.blazor.zone
BootstrapBlazor 中的 Table 组件、EditorForm 表单组件、ValidateForm 表单组件 等等组件,都具有根据实体类自动生成相应功能的能力,而这里起到关键作用的就是 AutoGenerateColumnAttribute,从命名可以得知,这是一个特性,让我们来看看他支持哪些功能吧。
属性
类型
作用
说明
Order
int
获得/设置 显示顺序
规则如下:
>0时排前面,1,2,3…
=0时排中间(默认)
<0时排后面,…-3,-2,-1
Ignore
bool
获得/设置 是否忽略
默认为 false 不忽略
DefaultSort
bool
获得/设置 是否为默认排序列
默认为 false
SkipValidate
bool
获得/设置 是否不进行验证
默认为 false
IsReadonlyWhenAdd
bool
获得/设置 新建时此列只读
默认为 false
IsReadonlyWhenEdit
bool
获得/设置 编辑时此列只读
默认为 false
DefaultSortOrder
SortOrder
获得/设置 是否为默认排序规则
默认为 SortOrder.Unset
Width
int
获得/设置 列宽
Fixed
bool
获得/设置 是否固定本列
默认 false 不固定
Visible
bool
获得/设置 列是否显示
默认为 true 可见的
CssClass
string?
获得/设置 列 td 自定义样式
默认为 null 未设置
ShownWithBreakPoint
BreakPoint
获得/设置 显示节点阈值
默认值 BreakPoint.None 未设置
FormatString
string?
格式化字符串
如时间类型设置 yyyy-MM-dd
PlaceHolder
string?
获得/设置 placeholder 文本
默认为 null
Formatter
Func
获得/设置 列格式化回调委托
HeaderTemplate
RenderFragment
获得/设置 表头模板
ComponentType
Type?
获得/设置 组件类型
默认为 null
Template
RenderFragment
获得/设置 显示模板
Step
object?
获得/设置 步长
默认为 1
Rows
int
获得/设置 Textarea 行数
PropertyType
Type?
获得 属性类型
Text
string?
获得/设置 当前属性显示文字 列头或者标签名称
下面我们来看看它在 ValidateForm 组件 与 EditorForm 组件中的表现
实体类 Foo.cs
1 public class Foo
2 {
3 ///
6 [Key]
7 [Display(Name = "主键")]
8 [AutoGenerateColumn(Ignore = true)]
9 public int Id { get; set; }
10
11 ///
14 [Required(ErrorMessage = "{0}不能为空")]
15 [AutoGenerateColumn(Order = 10, Filterable = true, Searchable = true)]
16 [Display(Name = "姓名")]
17 public string? Name { get; set; }
18
19 ///
22 [AutoGenerateColumn(Order = 1, FormatString = "yyyy-MM-dd", Width = 180)]
23 [Display(Name = "日期")]
24 public DateTime? DateTime { get; set; }
25
26 ///
29 [Display(Name = "地址")]
30 [Required(ErrorMessage = "{0}不能为空")]
31 [AutoGenerateColumn(Order = 20, Filterable = true, Searchable = true)]
32 public string? Address { get; set; }
33
34 ///
37 [Display(Name = "数量")]
38 [Required]
39 [AutoGenerateColumn(Order = 40, Sortable = true)]
40 public int Count { get; set; }
41
42 ///
45 [Display(Name = "是/否")]
46 [AutoGenerateColumn(Order = 50)]
47 public bool Complete { get; set; }
48
49 ///
52 [Required(ErrorMessage = "请选择学历")]
53 [Display(Name = "学历")]
54 [AutoGenerateColumn(Order = 60)]
55 public EnumEducation? Education { get; set; }
56
57 ///
60 [Required(ErrorMessage = "请选择一种{0}")]
61 [Display(Name = "爱好")]
62 [AutoGenerateColumn(Order = 70, Editable = false)]
63 public IEnumerable
64 }
页面 Foo.razor
1
呈现效果
同时支持根据实体类属性的特性进行表单验证,非常的好用
手机扫一扫
移动阅读更方便
你可能感兴趣的文章