删除与批量删除

本文介绍了员工数据删除功能的实现方法,包括单个员工数据删除和批量删除。在控制器中通过公共类获取和传递数据,利用try-catch结构处理错误,按员工表、角色明细表、用户表顺序删除信息。前端通过按钮触发删除操作,点击时弹出提示框,删除成功后刷新表格。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

撰写时间:2019年05月12日

删除一些不要的数据,能够减少不必要的占有,删除一下不必要的,多余的也能让我们能够更加清楚管理剩下的部分,那将如何实现呢
在控制器中新建一个公共类,int一个新的字段获取/传递数据
public ActionResult delEmployee(int EmployeeID) {
string一个新的字段用于记录状态。自定义命名
string strMsg = “failed”;
在外层放置一个try{}catch(Exception){}用于接收错误
try{
根据EmployeeID查询需要删除的员工信息
删除该信息顺序为员工表角色明细表用户表, 首先删除学生信息表
获取Models中到员工表(PW_Employee),自定义命名获取数据
PW_Employee dbEmployee = (from tbEmployee in myModels.PW_Employee
where tbEmployee.EmployeeID == EmployeeID
select tbEmployee).Single();

Remove删除员工的数据信息
myModels.PW_Employee.Remove(dbEmployee);

获取删除的员工的UserID
var userId = dbEmployee.UserID;
根据Userid查询需要删除的用户角色明细表信息
PW_UserRoleDetail dbUserRoleDetail =
从数据库中获取到用户角色明信息表中的信息
(from tbUserRoleDetail in myModels.PW_UserRoleDetail
删除的用户信息等于数据库中的用户信息
where tbUserRoleDetail.UserID == userId
select tbUserRoleDetail).Single();

删除角色明细表
myModels.PW_UserRoleDetail.Remove(dbUserRoleDetail);
最后,获取到UserID用户表
PW_User dbUser = (from tbUser in myModels.PW_User
where tbUser.UserID == userId
select tbUser).Single();
myModels.SaveChanges();

当删除成功弹出提示success(成功),否则将弹出error(错误)提示
strMsg = “success”;}
catch (Exception) {
strMsg = “error”;}
return Json(strMsg, JsonRequestBehavior.AllowGet); }

获取到删除按钮的ID,放一个参数到里面用于接收/传递状态
function delEmployee(employeeId) {
当点下按时,弹出提示框
layer.confirm(“确定要删除该条数据吗?”, { icon: 3, title: “提示”, skin: “layui-layer-molv” }, function () {
Post的链接与控制器那边定义的名称一致,
在这里插入图片描述
在这里插入图片描述
该字段与控制器那边相同,否则会报错/或者删除不成功
在这里插入图片描述
在这里插入图片描述
$.post(“delEmployee”, { EmployeeID: employeeId }, function (msg) {
layer.alert(msg, { icon: 0, title: "提示 ", skin: “layui-layer-molv” });
删除成功后刷新表格
tabEmployee.reload();});});}

批量删除
获取到批量删除按钮的ID
function delDemployee() {
获取选中行数据
var checkStatus = layuiTable.checkStatus(“tabEmployee”);
if (checkStatus.data.length > 0) {
声明一个变量,记录选中的条数,传递参数
var employeeIds = “”;

利用for循环来运行,i为记录选中的/删除的数量.初始为0,多选时自加
for (var i = 0; i < checkStatus.data.length; i++) {
拼接字符串
employeeIds += checkStatus.data[i].EmployeeID + “;”; }
去掉最后的一个“;”
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
substring(start,stop) 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。[0,studentIds.length-1)
employeeIds = employeeIds.substring(0, employeeIds.length - 1);
layer.confirm(“您确定要删除选中的” + checkStatus.data.length + “条员工信息吗?”, { icon: 3, title: “提示” ,skin:“layui-layer-molv”}, function () {
当选中数据并点下批量删除按钮时,弹出提示框,确定则删,取消则关闭提示框
在这里插入图片描述
获取到控制器那边的delEmployees,
$.post(“delEmployees”, { EmployeeIds: employeeIds }, function (msg) {
tabEmployee.reload();
layer.alert(msg, { icon: 0, title: “提示” }); });});}
当为选中数据就点下批量删除按钮时,弹出需要选中数据提示框

else {
layer.alert(“请选择需要删除的员工信息!”); }}
在这里插入图片描述

内容概要:本文档主要展示了C语言中关于字符串处理、指针操作以及动态内存分配的相关代码示例。首先介绍了如何实现键值对(“key=value”)字符串的解析,包括去除多余空格根据键获取对应值的功能,并提供了相应的测试用例。接着演示了从给定字符串中分离出奇偶位置字符的方法,并将结果分别存储到两个不同的缓冲区中。此外,还探讨了常量(const)修饰符在变量指针中的应用规则,解释了不同类型指针的区别及其使用场景。最后,详细讲解了如何动态分配二维字符数组,并实现了对这类数组的排序释放操作。 适合人群:具有C语言基础的程序员或计算机科学相关专业的学生,尤其是那些希望深入理解字符串处理、指针操作以及动态内存管理机制的学习者。 使用场景及目标:①掌握如何高效地解析键值对字符串并去除其中的空白字符;②学会编写能够正确处理奇偶索引字符的函数;③理解const修饰符的作用范围及其对程序逻辑的影响;④熟悉动态分配二维字符数组的技术,并能对其进行有效的排序清理。 阅读建议:由于本资源涉及较多底层概念技术细节,建议读者先复习C语言基础知识,特别是指针内存管理部分。在学习过程中,可以尝试动手编写类似的代码片段,以便更好地理解掌握文中所介绍的各种技巧。同时,注意观察代码注释,它们对于理解复杂逻辑非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值