BootstrapBlazor 组件库使用体验---Table篇
原文地址:https://www.cnblogs.com/ysmc/p/13323242.html
Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架:
- 使用 C# 代替 JavaScript 来创建丰富的交互式 UI(不能完全替代,现阶段还是离不开JavaScript,只是减少使用)。
- 共享使用 .NET 编写的服务器端和客户端应用逻辑。
- 将 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组件,该组件包含:
工具栏,可自定义
全局搜索与高级搜索
分页功能
自动根据字段类型生成过滤功能
过滤条件同样是根据属性的类型去生成对应的数据组件,如我添加一个Datetime类型的属性
自动生成新建、编辑模态框
Table组件会根据你的Model,尝试生成数据编辑窗口,并且根据属性类型生成对应的数据组件
双击行打开编辑模态框
代码量少,非常精简
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篇的更多相关文章
- BootstrapBlazor 组件库介绍
项目介绍 演示系统地址:https://www.blazor.zone Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架: 使用 C# 代替 JavaScript 来创建丰富 ...
- Java HTTP 组件库选型看这篇就够了
最近项目需要使用 Java 重度调用 HTTP API 接口,于是想着封装一个团队公用的 HTTP client lib. 这个库需要支持以下特性: 连接池管理,包括连接创建和超时.空闲连接数控制.每 ...
- vue组件库element-ui 的Table内容显示不更新
一.问题原因: 因为数组直接赋值不能被 Object.defineProperty 检测到. 二.解决方法 所以应该要使用this.$set(‘对象名’,要修改的属性名,属性值),这样新添加的属性值 ...
- JS组件系列——表格组件神器:bootstrap table(三:终结篇,最后的干货福利)
前言:前面介绍了两篇关于bootstrap table的基础用法,这章我们继续来看看它比较常用的一些功能,来个终结篇吧,毛爷爷告诉我们做事要有始有终~~bootstrap table这东西要想所有功能 ...
- vue 复习篇. 注册全局组件,和 组件库
初篇 ============================================================== 1. 编写loading组件(components/Loading/ ...
- Blazor组件提交全记录: FullScreen 全屏按钮/全屏服务 (BootstrapBlazor - Bootstrap 风格的 Blazor UI 组件库)
Blazor 简介 Blazor 是一个使用 .NET 生成的交互式客户端 Web UI 的框架.和前端同学所熟知的 Vue.React.Angular 有巨大差异. 其最大的特色是使用 C# 代码( ...
- 如何快速为团队打造自己的组件库(上)—— Element 源码架构
文章已收录到 github,欢迎 Watch 和 Star. 简介 详细讲解了 ElementUI 的源码架构,为下一步基于 ElementUI 打造团队自己的组件库打好坚实的基础. 如何快速为团队打 ...
- Bootstrap Blazor 组件库 Row 布局组件(栅格系统)
原文链接:https://www.cnblogs.com/ysmc/p/16133351.html 在 Bootstrap 中,栅格相信大家都很熟悉,简直就是布局神器啊,Bootstrap Blazo ...
- Blazor Bootstrap 组件库 Toast 轻量弹窗组件介绍
轻量级 Toast 弹窗 DEMO https://www.blazor.zone/toasts 基础用法: 用户操作时,右下角给予适当的提示信息 <ToastBox class="d ...
随机推荐
- Java实现评论回复功能
目录 一.分类方式 1.单一型 2.嵌套型 3.两层型 二.实现原理 1.单一型 2.嵌套型 3.两层型 使用递归循环开发评论回复功能,适用于大部分的简单单体应用 评论功能或许是大多数的单体应用之中会 ...
- Java_Stringbuilder和StringBuffer
StringBuilder和StringBuffer非常类似, 均代表可变的字符串序列. 这两个类都是抽线类AbstractStringBuilder的子类, 方法几乎一样 /******String ...
- 说说 C# 9 新特性的实际运用
你一定会好奇:"老周,你去哪开飞机了?这么久没写博客了." 老周:"我买不起飞机,开了个铁矿,挖了一年半的石头.谁知铁矿垮了,压死了几条蜈蚣,什么也没挖着." ...
- Inception系列之Batch-Normalization
训练深度神经网络非常复杂,因为在训练过程中,随着先前各层的参数发生变化,各层输入的分布也会发生变化,图层输入分布的变化带来了一个问题,因为图层需要不断适应新的分布,因此训练变得复杂,随着网络变得更深, ...
- C++变量的存储类型
C++变量和函数包括两个属性:数据类型和数据的存储类型.存储类型是指数据在内存中存储的方式.变量的存储类型分为四种:自动类型(auto),寄存器类型(register).静态类型(static)外部类 ...
- MyBatis 中 @Param 注解的四种使用场景
https://juejin.im/post/6844903894997270536 第一种:方法有多个参数,需要 @Param 注解 第二种:方法参数要取别名,需要 @Param 注解 第三种:XM ...
- 手把手教你使用Vuex(一)
1.定义 vuex 是一个专门为vue.js应用程序开发的状态管理模式. 这个状态我们可以理解为在data中的属性,需要共享给其他组件使用的部分.也就是说,是我们需要共享的data,使用vuex进行统 ...
- nginx&http 第二章 ngx 事件event处理 数据结构
ngx_event.c :这个文件主要放置Nginx事件event模块的核心代码. 包含:进程事件分发器(ngx_process_events_and_timers).事件模块的模块和配置.模块初始化 ...
- kubernetes存储类与PV与PVC关系及实践
StorageClass & PV & PVC关系图 Volumes是最基础的存储抽象,其支持多种类型,包括本地存储.NFS.FC以及众多的云存储,我们也可以编写自己的存储插件来支持特 ...
- HTTP介绍(一)
超文本传输协议(HTTP)是一种用于分布式,协作式超媒体信息系统的应用程序层协议.HTTP是万维网(World Wide Web)数据通信的基础,超文本文档包括指向用户可以轻松访问的其他资源的超链接, ...