原文地址: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. 【Luogu】 P5482 [JLOI2011]不等式组 题解

    本来以为有多难,结果发现是道树状数组水题... 显然,对于每一个添加的不等式,有3种情况: \(a<0\) .此时可转换为 $x < {{a} \over {c-b}} $ . 但是,我们 ...

  2. 怎么解决Git中出现 "LF will be replaced by CRLF" 警告

    Windows中使用CRLF标识一行的结束,而在Linux/UNIX系统中只使用LF标识一行的结束.CRLF即Carriage-Return Line-Feed的缩写.通常情况下,Git库不会自动修改 ...

  3. 炸了!一口气问了我18个JVM问题!

    前言 GC 对于Java 来说重要性不言而喻,不论是平日里对 JVM 的调优还是面试中的无情轰炸. 这篇文章我会以一问一答的方式来展开有关 GC 的内容. 不过在此之前强烈建议先看这篇文章深度揭秘垃圾 ...

  4. 中科图新成为Bentley产品培训合作伙伴!质量服务双升级

    中科图新从2016年起开办ContextCapture产品培训,目前已累计培训了500多家企事业单位,涉及传统测绘单位.无人机航测.规划设计.建筑工程.水利.电力.交通.文保等十多个行业.实力过硬,口 ...

  5. 使用邮箱验证登录后台ssh,再也不怕被人攻击服务器了!

    目录 前言 安装教程 前言 之前写过使用用户名密码,以及扫描二维码方式验证后台登录ssh的文章:[点击跳转]. 但是这样还是不太保险,也存在被人利用的情况,因为别人破解你的后台你压根不知道.因此想到使 ...

  6. binary hacks读数笔记(file命令与magic file)

    file命令的作用是用于检验文件的类型,并打印至终端.file命令检验文件类型按以下顺序来完成: 检验文件系统(Filesystem)中支持的文件类型. 检验magic file规则. 检验文件内容的 ...

  7. Java基础 之二 类和对象

    1.基础概念 1) 概念 简单来说,类是具有相同特征事物的抽象,比如有轮子的都可以抽象为车:对象则可以看做类的具体实例,比如创建一个法拉利的车,就是车这个类的实例. 抽象.封装.继承.多态是类的四个特 ...

  8. Python_爬虫_Scrapy设置代理

    0.检测IP是否可用 # -*- coding: UTF-8 -*- from urllib import request if __name__ == "__main__": # ...

  9. 工作流(workflow)

    1,JBPM 工作流(开源历史悠久) 2,activity 工作流(开源历史悠久) 3,workable 工作流(功能比较强大,但是开源维护缓慢,比较注重商业化) 以上三个是主流的工作流

  10. js,昨天的日期

    var mydate = new Date(); var yester = mydate-24*60*60*1000; var yesterday = new Date(); yesterday.se ...