Ant for Blazor做单个表的增删查改

Ant for Blazor做单个表的增删查改

2024年02月27日花了一天时间弄出来了,基本弄好了,vs2022+blazor server+net8,引用的AntDesign版本是0.17.4

代码里的model和repository是用自己牛腩代码生成器生成的东西,sqlsugar的,记得在program里注入就好

相关代码:

@page "/Student"
@using System.Text.Json
@inject IMessageService _message
@inject ModalService _modalService
@inject DAL.IRepository<Model.Student,int> _repository;
<div style="padding:10px;"><Table TItem="Model.Student" DataSource="@datalist" @bind-PageSize="pageSize"><TitleTemplate><GridRow><GridCol Span="16"><Title Level="3">Student</Title></GridCol><GridCol Span="4"><Button Type="primary" Icon="@IconType.Outline.PlusSquare" @onclick="PopAdd">新增</Button></GridCol><GridCol Span="4"> <Search @bind-Value="searchKey" Placeholder="搜索关键字" OnSearch="HandleSearch" /></GridCol></GridRow></TitleTemplate><ChildContent><PropertyColumn Title="ID" Property="c=>c.Id"></PropertyColumn><PropertyColumn Title="学号" Property="c=>c.StuNo"></PropertyColumn><PropertyColumn Title="姓名" Property="c=>c.StuName"></PropertyColumn><PropertyColumn Title="生日" Property="c=>c.Birthday"></PropertyColumn><PropertyColumn Title="余额" Property="c=>c.Balance"></PropertyColumn><ActionColumn Title="操作"><Space><SpaceItem><Button Icon="@IconType.Outline.Edit" @onclick="(()=>Edit(context.Id))">编辑</Button></SpaceItem><SpaceItem><Button Danger Icon="@IconType.Outline.Delete" @onclick="(()=>Delete(context.Id))">删除</Button></SpaceItem></Space></ActionColumn></ChildContent><PaginationTemplate><div style="margin:10px;"><Pagination ShowTotal=showTotal Total="total" PageSize="pageSize" OnChange="HandlePageChange" /></div></PaginationTemplate></Table><Modal Title="@popTitle"@bind-Visible="@_visible"OnOk="@HandleOk"><Form Model="@model"LabelColSpan="8"WrapperColSpan="16"><FormItem Label="学号"><Input @bind-Value="@context.StuNo" /></FormItem><FormItem Label="姓名"><Input @bind-Value="@context.StuName" /></FormItem><FormItem Label="生日"><DatePicker @bind-Value="@context.Birthday" /></FormItem><FormItem Label="余额"><AntDesign.InputNumber @bind-Value="@context.Balance"></AntDesign.InputNumber></FormItem></Form></Modal></div>@code {Func<PaginationTotalContext, string> showTotal = ctx => $"总共 {ctx.Total} 条数据";private List<Model.Student> datalist = new List<Model.Student>();private Model.Student model = new Model.Student();bool _visible = false;private int total = 0;  //总记录数private int pageIndex = 1; //第几页private int pageSize = 3;  //每页显示多少条数据private string popTitle = "新增";private string searchKey = "";//页面初始化方法protected override void OnInitialized(){base.OnInitialized();BindListData();}//显示分页数据public void BindListData(){var q = _repository.GetAll();q = q.Where(a => a.StuName.Contains(searchKey));total = q.Count();datalist = q.OrderByDescending(a=>a.Id).ToPageList(pageIndex, pageSize);StateHasChanged();}//弹出新增的框框public void PopAdd(){popTitle = "新增";_visible = true;model = new Model.Student();}//新增,编辑private async Task HandleOk(MouseEventArgs e){try{if (string.IsNullOrEmpty(model.StuNo) || string.IsNullOrEmpty(model.StuName)){throw new Exception("请把学号和姓名填写完整。");}Console.WriteLine($"提交的数据:{JsonSerializer.Serialize(model)}");if (model.Id == 0){ _repository.Insert(model);_message.Info("新增成功!");}else{ _repository.Update(model);_message.Info("编辑成功!");}_visible = false;BindListData();}catch (Exception ex){_visible = true;_message.Error("出错:" + ex.Message);}}//分页点击public void HandlePageChange(PaginationEventArgs e){pageIndex = e.Page;BindListData();}//显示删除确认框private void Delete(int id){_modalService.Confirm(new ConfirmOptions(){Title = "是否确认删除?",Content = "ID为【" + id + "】的数据!",OnOk = (e) =>{Console.WriteLine("删除:"+id);_repository.Delete(a => a.Id == id);BindListData();_message.Info("删除成功!");return Task.CompletedTask;},OkType = "danger",});}//显示编辑的框框public void Edit(int id){popTitle = "编辑";model = _repository.FirstOrDefault(a => a.Id == id);_visible = true;}//查询public void HandleSearch(){pageIndex = 1;BindListData(); }}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2815096.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

分布式一致性算法-Paxos翻译和注解

Paxos是解决不可靠处理器&#xff08;不可靠是指处理器可能故障&#xff09;网络中一致性问题(consensus)的一个协议族。一致性&#xff08;或者共识&#xff09;是在一组参与者之间对一个结果达成共识的过程。当参与者或者它们的交互媒介可能发生故障的时候&#xff0c;这个问…

幻兽帕鲁(Palworld 1.4.11.5.0)私有服务器搭建(docker版)

文章目录 说明客户端安装服务器部署1Panel安装和配置docker服务初始化设置设置开机自启动设置镜像加速 游戏服务端部署游戏服务端参数可视化配置 Palworld连接服务器问题总结 服务端升级&#xff08;1.5.0&#xff09; 说明 服务器硬件要求&#xff1a;Linux系统/Window系统&a…

JS总览-JS高级程序设计4-学习笔记

JS简史 1995年 JS 问世&#xff0c;彼时其主要任务是替代服务器端语言处理输入验证 1995年网景公司的 Brendan Eich 开发了一个脚注Live Script的脚步语言&#xff0c;后来网景公司与 Sun 公司结盟&#xff0c;更名 Live Script 为 Java Script 由于微软发布 IE3 时包含了自己…

iMazing 3.0.0.3 for mac 中文破解版2024最新图文安装教程

我们刚刚发布了iMazing 3.0.0.3 for mac 中文版本。Windows和macOS用户现在都可以试驾并体验iPhone管理的未来。 备受期待的第一个Windows版本得益于过去几个月macOS测试版的所有改进&#xff0c;使其成为一个稳定的初始版本。 我们的开发团队创造了一种无缝的外观和体验&#…

关于uniapp小程序的分包问题

开发uniapp小程序时&#xff0c;在打包上传代码时会出现超出2M的打包限制不能上传&#xff0c;那么我们该怎么做呢&#xff1f; 1.对于图片&#xff0c;将图片从后端服务取&#xff0c;尽量不要放在静态资源&#xff0c;图片体积会影响打包大小。 2.使用分包&#xff0c;tabb…

LNMP 架构

PHP(Hypertext Preprocessor 超文本预处理器)是通用服务器端脚本编程语言&#xff0c;主要用于web开发实现动态web页面&#xff0c;也是最早实现将脚本嵌入HTML源码文档中的服务器端脚本语言之一。同时&#xff0c;php还提供了一个命令行接口&#xff0c;因此&#xff0c;其也可…

哪个牌子的电视盒子好用?2024超强电视盒子排名

最近很多朋友问我电视盒子的相关问题&#xff0c;就目前来说&#xff0c;电视盒子的地位依然是不可取代的。我近来要发布的测评内容是哪个牌子的电视盒子好用&#xff0c;耗时两周进行对比后整理了电视盒子排名&#xff0c;看看哪些电视盒子是最值得入手的吧。 NO.1——泰捷新品…

安装极狐GitLab Runner并测试使用

本文继【新版极狐安装配置详细版】之后继续 1. 添加官方极狐GitLab 仓库&#xff1a; 对于 RHEL/CentOS/Fedora&#xff1a; curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bash2. 安装最新版本的极狐G…

ChatGPT提示词工程师AI大神吴恩达2023年视频课程学习实践

前言 刚才看了一个视频系列教程&#xff0c;很短&#xff0c;但收获很大&#xff0c;毕竟是一手知识来源&#xff0c;吴恩达大神亲自讲解&#xff0c;他说的话&#xff0c;我都信。这里写个笔记&#xff0c;顺便把知识点实践一下。视频可以去B站上搜索 吴恩达 prompt &#xf…

log4j 基础使用入门教程

一、Log4j介绍 在项目中&#xff0c;不管是开发人员写代码还是测试人员写的测试代码一般都需要做一些日志来记录项目的行为&#xff0c;以便更好的跟踪项目中的一些交互和问题。 Log4j ( Logger For Java ) , Java 日志的记录包。 官方网站 。Log4j 是 Apache 的一个开源项目…

C++之标准库中string的底层实现方式

目录 1、Eager Copy(深拷贝) 2、COW(Copy-On-Write)写时复制 2.1写时复制的实现 3、SSO&#xff08;Short String Optimization)短字符串优化 4、最佳策略 5、线程安全性 我们都知道&#xff0c; std::string的一些基本功能和用法了&#xff0c;但它底层到底是如何实现的…

李沐动手学习深度学习——3.4练习

理解极大似然估计 很巧妙的解释了为什么使用均方误差&#xff0c;因为均方误差是一种似然估计的变种&#xff0c;而对于逻辑回归softmax而言&#xff0c;更好的解释了其中存在exp 1. 我们可以更深入地探讨指数族与softmax之间的联系。 1. 计算softmax交叉熵损失l(y, ˆy)的二阶…

【C++历练之路】map与set的必备使用指南

W...Y的主页 &#x1f60a; 代码仓库的分享&#x1f495; &#x1f354;序言&#xff1a; C作为一门历史悠久且功能强大的编程语言&#xff0c;其标准模板库&#xff08;STL&#xff09;为开发者提供了一套丰富的数据结构和算法&#xff0c;极大地促进了软件开发的效率和质量…

Python打发无聊时光:10.用flask创造按键控制的网页小游戏

游戏介绍: 《秦蓝大冒险》是一款简单而紧张的追逐游戏。在这个游戏中&#xff0c;玩家将控制一名名叫“吕千”的角色&#xff0c;试图在一个封闭的空间内逃避一个名为“秦蓝”的追逐者。随着时间的推移&#xff0c;“秦蓝”会不断追踪玩家的位置&#xff0c;努力捕捉到他。 游…

干货!Python字符串填充、去除、分割与合并

1.center() 将字符串按照指定内容填充到指定长度&#xff0c;默认填充的内容是空格 str1 "今天天气好晴朗"print(str1.center(50)) # 使用空间将原字符串填充到50个长度&#xff0c;原内容居中print(str1.center(50, "*")) # 使用 * 将原字符串填…

免费原型工具大集合,让你设计更轻松

对于产品经理或UI/UX设计师来说&#xff0c;一个好的原型设计工具是非常重要的。一个好的原型设计软件可以帮助你快速构建一个还原度高、信息架构清晰的原型图&#xff0c;大大降低工作中与同事的沟通成本&#xff0c;更有效地促进工作。 那么&#xff0c;一个易于使用和免费的…

2024年计算机科学与电子通讯工程国际会议(ICCSECE 2024)

2024年计算机科学与电子通讯工程国际会议&#xff08;ICCSECE 2024&#xff09; 重要信息 会议官网&#xff1a;http://www.iccsece.com会议地址&#xff1a;郑州召开日期&#xff1a;2024.03.25截稿日期&#xff1a;2024.03.15 &#xff08;先投稿&#xff0c;先审核&#xff…

【Linux】进程优先级以及Linux内核进程调度队列的简要介绍

进程优先级 基本概念查看系统进程修改进程的优先级Linux2.6内核进程调度队列的简要介绍和进程优先级有关的概念进程切换 基本概念 为什么会存在进程优先级&#xff1f;   进程优先级用于确定在资源竞争的情况下&#xff0c;哪个进程将被操作系统调度为下一个运行的进程。进程…

【C语言】数据存储篇,内存中的数据存储----C语言整型,浮点数的数据在内存中的存储以及大小端字节序【图文详解】

欢迎来CILMY23的博客喔&#xff0c;本篇为​【C语言】数据存储篇&#xff0c;内存中的数据存储----C语言整型&#xff0c;浮点数的数据在内存中的存储以及大小端字节序【图文详解】&#xff0c;感谢观看&#xff0c;支持的可以给个一键三连&#xff0c;点赞关注收藏。 前言 C语…

Mysql索引优化导致死锁问题

1、背景 随着公司业务的发展&#xff0c;商品库存从商品中心独立出来成为一个独立的系统&#xff0c;承接主站商品库存校验、订单库存扣减、售后库存释放等业务。在上线之前我们对于核心接口进行了压测&#xff0c;压测过程中出现了MySQL 5.6.35死锁现象&#xff0c;通过日志发…