原文地址: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. 导入tensorflow.出现importError: DLL load failed: 找不到指定的模块。

    导入tensorflow.出现importError: DLL load failed: 找不到指定的模块. 原因 这是由于windows上没有相应的动态链接库导致的,tensorflow依赖很多c+ ...

  2. 什么是 session 和 cookie

    cookie 大家应该都熟悉,比如说登录某些网站一段时间后,就要求你重新登录:再比如有的同学很喜欢玩爬虫技术,有时候网站就是可以拦截住你的爬虫,这些都和 cookie 有关.如果你明白了服务器后端对于 ...

  3. 关于红黑树,在HashMap中是怎么应用的?

    关于红黑树,在HashMap中是怎么应用的? 前言 在阅读HashMap源码时,会发现在HashMap中使用了红黑树,所以需要先了解什么是红黑树,以及其原理.从而再进一步阅读HashMap中的链表到红 ...

  4. CF957E Contact ATC

    二维偏序(逆序对) 因为风速vf,-w<=vf<=w,因此我们可以算出每一艘船到达原点的时间的取值范围 即取vf=w和vf=-w时,记ai为当vf=w时的用时,记bi为当vf=-w时的用时 ...

  5. Flink的sink实战之二:kafka

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  6. 【T1543.003】利用 ACL 隐藏恶意 Windows 服务

    看到一篇文章讲述了通过设置 DACL 隐藏 Windows 服务信息,便做一下总结. 技术原理 系统中每个 Service 在 Windows 中属于都一种对象(Object),用户在访问对象时的权限 ...

  7. .NET 5.0正式发布,功能特性介绍(翻译)

    本文由葡萄城技术团队翻译并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 我们很高兴今天.NET5.0正式发布.这是一个重要的版本-其中也包括了C# ...

  8. 自定义泛型方法, 三级排序, low版,待升级

    package com.jd.dashboard.util; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken ...

  9. Node.js 搞Javascript开发的无论如何要尝试一下

    我想找个因子给大家介绍Node.js 这样吧,我想Jquery的占有率那么高,就拿Jquery来说吧. https://github.com/jquery/jquery 首先打开Jquery的gith ...

  10. tcp 客户端 发送syn

    简介 sys_connect->inet_stream_connect->inet_stream_connect->tcp_v4_connect->tcp_connect对于t ...