原文链接:https://www.cnblogs.com/ysmc/p/16201153.html

Bootstrap Blazor 官网地址:https://www.blazor.zone

  有了解过 Bootstrap Blazor 组件库的,都应该知道 Table 组件是多么的强大,我在之前的文章中提过,可以通过实体属性特征智能生成 Table 组件所有常用的功能,让你的 razor 页面非常简洁,感兴趣的可以到我这一篇文章去看看:BootstrapBlazor 智能生成神器(一)AutoGenerateColumnAttribute 特性介绍 - 一事冇诚 - 博客园 (cnblogs.com)

  先一睹页面效果,多选、分页、排序、过滤、新增、编辑、删除、全局搜索、高级搜索,满足绝大多数的列表展示需求了,自动 是/否 字段还是显示的是一个组件。

  以上的功能你可能会认为需要编写很多的前端代码,其实正好相反,我们 Bootstrap Blazor 项目的宗旨就是简洁、高效,让你用最少的代码实现最多的功能,我们一起看看要实现这样的页面,razor 页面需要的代码是多少!

  你没有看错,就只要这么多,可以说就一个 Table 标签的事,其它的功能是否开启,全是组件的属性参数,有小伙伴可能会问了,上面说的是根据实体类属性特征智能生成的,那特性肯定很多吧。我可以很负责的告诉你,你不认识的只有一个,都是沿用之前大家熟悉的特性,下面是 Foo 实体类:

 1 public class Foo
2 {
3 /// <summary>
4 ///
5 /// </summary>
6 [Display(Name = "主键")]
7 [AutoGenerateColumn(Ignore = true)]
8 public int Id { get; set; }
9
10 /// <summary>
11 ///
12 /// </summary>
13 [Required(ErrorMessage = "{0}不能为空")]
14 [AutoGenerateColumn(Order = 10, Filterable = true, Searchable = true)]
15 [Display(Name = "姓名")]
16 public string? Name { get; set; }
17
18 /// <summary>
19 ///
20 /// </summary>
21 [AutoGenerateColumn(Order = 1, FormatString = "yyyy-MM-dd", Width = 180)]
22 [Display(Name = "日期")]
23 public DateTime DateTime { get; set; }
24
25 /// <summary>
26 ///
27 /// </summary>
28 [Display(Name = "地址")]
29 [Required(ErrorMessage = "{0}不能为空")]
30 [AutoGenerateColumn(Order = 20, Filterable = true, Searchable = true)]
31 public string? Address { get; set; }
32
33 /// <summary>
34 ///
35 /// </summary>
36 [Display(Name = "数量")]
37 [Required]
38 [AutoGenerateColumn(Order = 40, Sortable = true)]
39 public int Count { get; set; }
40
41 /// <summary>
42 ///
43 /// </summary>
44 [Display(Name = "是/否")]
45 [AutoGenerateColumn(Order = 50, ComponentType = typeof(Switch))]
46 public bool Complete { get; set; }
47
48 /// <summary>
49 ///
50 /// </summary>
51 [Required(ErrorMessage = "请选择学历")]
52 [Display(Name = "学历")]
53 [AutoGenerateColumn(Order = 60)]
54 public EnumEducation? Education { get; set; }
55
56 /// <summary>
57 ///
58 /// </summary>
59 [Required(ErrorMessage = "请选择一种{0}")]
60 [Display(Name = "爱好")]
61 [AutoGenerateColumn(Order = 70)]
62 public IEnumerable<string> Hobby { get; set; } = new List<string>();
63 }

  好了,没了,就这么点东西,就实现了上面展示的所有功能,当然,免不了会有小伙伴问了,那数据怎么来?这个问题问得相当好啊,我们的组件只是 UI 组件库,数据怎么来的我组件真管不着,但是,我们也精心为大家准备了相当大的惊喜,让你可以一行代码,横扫 crud!这个肯定是下回分解了,嘿嘿嘿......

  你们的点赞,是我分享的最大动力,同时也非常希望大家多多交流评论,一个人独自成长路真的很遥远,大家一起成长呗!下期预告,Table 组件的自定义模板......

写在最后

Bootstrap Blazor 官网地址:https://www.blazor.zone

  希望大佬们看到这篇文章,能给项目点个star支持下,感谢各位!

star流程:

1、访问点击项目链接:BootstrapBlazor   

2、点击star,如下图,即可完成star,关注项目不迷路:

另外还有两个GVP项目,大佬们方便的话也点下star呗,非常感谢:

  BootstrapAdmin 项目地址:
  https://gitee.com/LongbowEnterprise/BootstrapAdmin

  SliderCaptcha 项目地址:
  https://gitee.com/LongbowEnterprise/SliderCaptcha

交流群(QQ)欢迎加群讨论

       BA & Blazor ①(795206915)          BA & Blazor ②(675147445)

Bootstrap Blazor Table 组件(三)智能生成的更多相关文章

  1. Bootstrap Blazor Table 组件(四)自定义列生成

    原文链接:https://www.cnblogs.com/ysmc/p/16223154.html Bootstrap Blazor 官方链接:https://www.blazor.zone/tabl ...

  2. Bootstrap Blazor Table 组件(二)

    原文链接:https://www.cnblogs.com/ysmc/p/16128206.html 很多小伙伴在使用 Bootstrap Blazor Table组件的时候,都会有这样的一个需求: 我 ...

  3. Bootstrap Blazor 组件介绍 Table (一)自动生成列功能介绍

    Bootstrap Blazor 是一套企业级 UI 组件库,适配移动端支持各种主流浏览器,已经在多个交付项目中使用.通过本套组件可以大大缩短开发周期,节约开发成本.目前已经开发.封装了 70 多个组 ...

  4. Bootstrap Blazor 组件介绍 Table (三)列数据格式功能介绍

    Bootstrap Blazor 是一套企业级 UI 组件库,适配移动端支持各种主流浏览器,已经在多个交付项目中使用.通过本套组件可以大大缩短开发周期,节约开发成本.目前已经开发.封装了 70 多个组 ...

  5. Bootstrap Blazor 组件介绍 Table (二)自定义模板列功能介绍

    Bootstrap Blazor 是一套企业级 UI 组件库,适配移动端支持各种主流浏览器,已经在多个交付项目中使用.通过本套组件可以大大缩短开发周期,节约开发成本.目前已经开发.封装了 70 多个组 ...

  6. JS组件系列——表格组件神器:bootstrap table(三:终结篇,最后的干货福利)

    前言:前面介绍了两篇关于bootstrap table的基础用法,这章我们继续来看看它比较常用的一些功能,来个终结篇吧,毛爷爷告诉我们做事要有始有终~~bootstrap table这东西要想所有功能 ...

  7. Bootstrap Blazor 组件库 Row 布局组件(栅格系统)

    原文链接:https://www.cnblogs.com/ysmc/p/16133351.html 在 Bootstrap 中,栅格相信大家都很熟悉,简直就是布局神器啊,Bootstrap Blazo ...

  8. Bootstrap Blazor 组件库

    项目介绍 Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架: 使用 C# 代替 JavaScript 来创建丰富的交互式 UI. 共享使用 .NET 编写的服务器端和客户端应 ...

  9. Blazor组件提交全记录: FullScreen 全屏按钮/全屏服务 (BootstrapBlazor - Bootstrap 风格的 Blazor UI 组件库)

    Blazor 简介 Blazor 是一个使用 .NET 生成的交互式客户端 Web UI 的框架.和前端同学所熟知的 Vue.React.Angular 有巨大差异. 其最大的特色是使用 C# 代码( ...

随机推荐

  1. mybatis是如何分页的,分页插件的原理是什么

    mybatis是如何分页的,分页插件的原理是什么 代码之尖关注 12018.12.28 17:11:12字数 529阅读 19,877 1. SQL 分页 <select id="qu ...

  2. 【算法】两个list合并

    转载博客地址 http://blog.sina.com.cn/s/blog_5da93c8f0101fdrp.html 有两个ArrayList,分别为list1和list2,分析这两个list后生成 ...

  3. 高度不定,宽100%,内一div高不确定,如何实现垂直居中?

    verticle-align: middle; 绝对定位50%加translateY(-50%) 绝对定位,上下左右全0,margin:auto

  4. 【Java】这 35 个 Java 代码优化细节!

    前言 代码 优化 ,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没 ...

  5. Serial 与 Parallel GC 之间的不同之处?

    Serial 与 Parallel 在 GC 执行的时候都会引起 stop-the-world.它们之间主要 不同 serial 收集器是默认的复制收集器,执行 GC 的时候只有一个线程,而 para ...

  6. JavaScript的取值小技巧之“中括号[]取值法”

    一.简介 做下记录,今天看了一篇很有意思的文章,学到了这个取值的小技巧 正常的话我们一般都是用对象直接去'.'对应的属性名(也就是键值对的键)来获取对应的值 这里记录的是另一种取值方式,他是采用中括号 ...

  7. Three.js 实现3D开放世界小游戏:阿狸的多元宇宙 🦊

    声明:本文涉及图文和模型素材仅用于个人学习.研究和欣赏,请勿二次修改.非法传播.转载.出版.商用.及进行其他获利行为. 背景 2545光年之外的开普勒1028星系,有一颗色彩斑斓的宜居星球 ,星际移民 ...

  8. 还能这样?把 Python 自动翻译成 C++

    作者:byronhe,腾讯 WXG 开发工程师 一.问题背景 随着深度学习的广泛应用,在搜索引擎/推荐系统/机器视觉等业务系统中,越来越多的深度学习模型部署到线上服务. 机器学习模型在离线训练时,一般 ...

  9. ES6-11学习笔记--对象的扩展

    属性简洁表示法 属性名表达式 Objec.is() 扩展运算符 与 Object.assign() in 对象的遍历方式   属性简洁表示法: 如果属性key跟变量名一样,可简写 let name = ...

  10. 拼凑一个ABP VNext管理后台

    介绍 本项目前后端分离,后端采用ABP VNext框架,前端Vue. 项目地址: https://github.com/pojianbing/AuthCenter 目前包含的模块有: 身份认证管理 I ...