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 ...
随机推荐
- linux的mysql修改默认端口3306
linux 修改mysql默认端口3306 cd /etc/mysql/my.cnf 修改两处 客户端的port=3306 和mysqld的服务器端口port=3306 [client] port=3 ...
- 选择API管理平台之前要考虑的5个因素
API(应用程序编程接口)经济的飞速增长导致对API管理平台的需求相应增加. 这些解决方案可在整个生命周期内帮助创建,实施,监控,分析,保护和管理API. 据一些估计,全球API管理市场预计在2018 ...
- Python--安装 PyQt5, pyqt5-tools
# 使用豆瓣镜像源 anaconda prompt界面里输入: pip install pyqt5-tools -i https://pypi.douban.com/simple/
- 安装tomcat for ubuntu linux差点没晕死我!
我滴个神!装ubuntu的tomcat差点没有晕死我!怎么回事呢? 应该说是装好了,执行了bin/startup.sh了,出现以下画面: Using CATALINA_BASE: /home/niew ...
- gdb 符号表 &信息 &工具
查看二进制文件的编译器版本 strings info.o |grep GCCGCC: (crosstool-NG linaro-1.13.1-2012.02-20120222 - Linaro GC ...
- linux nf_conntrack 连接跟踪机制 2
连接跟踪初始化 基础参数的初始化:nf_conntrack_standalone_init 会调用nf_conntrack_init_start 完成连接跟踪基础参数的初始化, hash slab 扩 ...
- 极客mysql01
1.MySQL的框架有几个组件, 各是什么作用?连接器:负责跟客户端建立连接.获取权限.维持和管理连接.查询缓存:查询请求先访问缓存(key 是查询的语句,value 是查询的结果).命中直接返回.不 ...
- shell编程之awk
awk是一种用于处理数据和生成报告的编程语言 awk可以在命令行中进行一些简单的操作,也可以被写成脚本来处理较大的应用问题 awk与grep.sed结合使用,将使shell编程更加容易 awk工作模式 ...
- 支持jewel版本的calamari
之前测试了下,发现calamari不支持jewel版本的,是因为接口了有了一些变化,在提出这个问题后,作者给出了回答,说肯定会支持的,并且做了一点小的改动,就可以支持了,这个作者merge了到了git ...
- LeetCode283移动零问题java高效解法
一.题目: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 1.必须 ...