原文地址:https://www.cnblogs.com/ysmc/p/13323242.html

  Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架:

  1. 使用 C# 代替 JavaScript 来创建丰富的交互式 UI(不能完全替代,现阶段还是离不开JavaScript,只是减少使用)。
  2. 共享使用 .NET 编写的服务器端和客户端应用逻辑。
  3. 将 UI 呈现为 HTML 和 CSS,已支持众多浏览器,其中包括移动浏览器。

  本文将使用基于Blazor的开源Blazor UI 组件库BootstrapBlazor,该组件库项目在Gitee上开源,传送门

  项目演示(及文档)地址:Bootstrap Blazor 演示网站

  更新记录

    2020.08.07

      1、使用Table组件页面代码再一次精简,高级搜索若无自定义,组件将尝试进行生成,只需在列信息绑定时通过设置 Searchable 属性即可开启该功能;

      2、完善全局搜索功能与排序功能;

    2020.08.11

      1、新增权限验证,访问无权限页面跳转至“提示页面”;

      2、新增账号admin、user,admin为管理员,user为普通用户;

    2020.08.14

      1、集成BootstrapAdmin项目(传送门)作为后台管理系统,主要管理用户权限;

废话不多说,直接开始;

  项目演示地址(该Demo实现的功能不多,将会持续更新,增加新功能):菜Dog之家

  用户名:user、admin,密码:123789

  登录界面

首页

首页中的table使用的就是BootstrapBlazor中的Table组件,该组件包含:

  1. 工具栏,可自定义

  2. 全局搜索与高级搜索


  3. 分页功能

  4. 自动根据字段类型生成过滤功能

    过滤条件同样是根据属性的类型去生成对应的数据组件,如我添加一个Datetime类型的属性

  5. 自动生成新建、编辑模态框

    Table组件会根据你的Model,尝试生成数据编辑窗口,并且根据属性类型生成对应的数据组件

  6. 双击行打开编辑模态框

  7. 代码量少,非常精简

    2020.08.07,使用Table组件页面代码再一次精简,高级搜索若无自定义,组件将尝试进行生成,只需在列信息绑定时通过设置 Searchable 属性即可开启该功能以上就是该Table页面的全部代码,囊括了以上6点的所有功能,你只需关注与数据的获取即可

  

 1 <Table TItem="BlazorApp.DataAccess.Models.Navigations"
2 PageItemsSource="@PageItemsSource"
3 IsMultipleSelect="true" IsPagination="true" IsStriped="true" IsBordered="true"
4 ShowToolbar="true" ShowSearch="true" ShowCheckboxText="true" ShowExtendButtons="true"
5 AddModalTitle="增加测试数据窗口" EditModalTitle="编辑测试数据窗口"
6 SearchModel="@SearchModel"
7 OnQueryAsync="@OnQueryAsync" OnResetSearchAsync="@OnResetSearchAsync"
8 OnAddAsync="@OnAddAsync" OnSaveAsync="@OnSaveAsync" OnDeleteAsync="@OnDeleteAsync">
9 <TableColumns>
10 <TableColumn Sortable="true" Filterable="true" Searchable="true" @bind-Field="@context.ID" />
11 <TableColumn Sortable="true" Filterable="true" Searchable="true" @bind-Field="@context.ParentId" />
12 <TableColumn Sortable="true" Filterable="true" Searchable="true" @bind-Field="@context.Order" />
13 <TableColumn Sortable="true" Filterable="true" Searchable="true" @bind-Field="@context.Name" />
14 <TableColumn Sortable="true" Filterable="true" Searchable="true" @bind-Field="@context.Url" />
15 <TableColumn Sortable="true" Filterable="true" Searchable="true" @bind-Field="@context.Icon" />
16 <TableColumn Sortable="true" Filterable="true" Searchable="true" @bind-Field="@context.Application" />
17 <TableColumn Sortable="true" Filterable="true" Searchable="true" @bind-Field="@context.CreationTime" />
18 </TableColumns>
19 </Table>

......文笔有限,慢慢补上

Bootstrap of Blazor

BootstrapBlazor 组件库使用体验---Table篇的更多相关文章

  1. BootstrapBlazor 组件库介绍

    项目介绍 演示系统地址:https://www.blazor.zone Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架: 使用 C# 代替 JavaScript 来创建丰富 ...

  2. Java HTTP 组件库选型看这篇就够了

    最近项目需要使用 Java 重度调用 HTTP API 接口,于是想着封装一个团队公用的 HTTP client lib. 这个库需要支持以下特性: 连接池管理,包括连接创建和超时.空闲连接数控制.每 ...

  3. vue组件库element-ui 的Table内容显示不更新

    一.问题原因: 因为数组直接赋值不能被 Object.defineProperty 检测到.  二.解决方法 所以应该要使用this.$set(‘对象名’,要修改的属性名,属性值),这样新添加的属性值 ...

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

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

  5. vue 复习篇. 注册全局组件,和 组件库

    初篇 ============================================================== 1. 编写loading组件(components/Loading/ ...

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

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

  7. 如何快速为团队打造自己的组件库(上)—— Element 源码架构

    文章已收录到 github,欢迎 Watch 和 Star. 简介 详细讲解了 ElementUI 的源码架构,为下一步基于 ElementUI 打造团队自己的组件库打好坚实的基础. 如何快速为团队打 ...

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

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

  9. Blazor Bootstrap 组件库 Toast 轻量弹窗组件介绍

    轻量级 Toast 弹窗 DEMO https://www.blazor.zone/toasts 基础用法: 用户操作时,右下角给予适当的提示信息 <ToastBox class="d ...

随机推荐

  1. C#+Arduino Uno 实现声控系统完全实施手册

    话不多说先上视频,一看就懂 另外可参考这里:https://www.cnblogs.com/dehai/p/4285749.html ,这个近6年前的帖子 程序结构 程序分成上位机(PC端)与下位机( ...

  2. Bucardo使用文档-lottu

    官网地址 一.Bucardo介绍 Bucardo 是基于表复制的系统 Bucardo 可以实现PostgreSQL数据库的双master/多master的方案 Bucardo的核心是一个Perl守护进 ...

  3. C# 泛型的协变

    class Program { static void Main(string[] args) { Person person = new Person(); Person chinese2 = ne ...

  4. requests库中的get()和post()方法

    (一)get()方法 查看源码,如下: 1 def get(self, url, params, **kwargs): 2 r"""Sends a GET request ...

  5. 一文搞懂后台高性能服务器设计的常见套路, BAT 高频面试系列

    微信搜索「编程指北」,关注这个写干货的程序员,回复「资源」,即可获取后台开发学习路线和书籍 先赞后看,养成习惯~ 前言 金九银十,又是一年校招季. 经历过,才深知不易.最近,和作为校招面试官的同事聊了 ...

  6. 视频直播源码开发中的流媒体协议:rtmp协议

    一.概念与摘要 视频直播源码的RTMP协议从属于应用层,被设计用来在适合的传输协议(如TCP)上复用和打包多媒体传输流(如音频.视频和互动内容).RTMP提供了一套全双工的可靠的多路复用消息服务,类似 ...

  7. Docker 基础 B站 学习 最强 教程

    狂神说!! https://www.bilibili.com/video/BV1og4y1q7M4

  8. 基于C++语言实现机动车违章处罚管理系统

    这篇文章主要介绍了基于C++语言实现机动车违章处罚管理系统的相关资料,需要的朋友可以参考下 关键代码如下所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ...

  9. JWT基本概念

    json web token 简称 JWT,它并不是一个具体的技术实现,而更像是一种标准. JWT规定了数据传输的结构,一串完整的JWT由三段落组成,每个段落用英文句号连接(.)连接,他们分别是:He ...

  10. S5830 android 2.3.4和2.3.7

    12年元旦买的手机S5830,原机自带2.3.4的系统. 看到人家的机子2.3.6的效果稍微绚一点,动了想刷机的念头. 前两天刷了2.3.7,效果还满意,用的还舒服,感觉就是有些费电, 本来就对智能手 ...