开发工具与关键技术:VS 删除
作者:听民谣的老猫
撰写时间:2019/4/20 17:15
数据查询,新增,修改在我撰写的博客中都已经讲到过了,这篇博客将简单的讲述删除;
______ 批量删除
删除可以是单条数据的删除也可以是批量删除数据,在这我讲的是批量删除。你可以通过批量删除的方法去删除单条数据,但是你不能用单条数据的删除方法去批量删除,掌握了批量删除自然而然也明白了单条数据的删除方法;
- 监听行单击事件
首先要对需要删除的数据进行选中
//监听行单击事件
layuiTable.on('row(tabEmployee)', function (obj) {
(Obj代表的是选中行的数据,控制台输出可以得知)
//标注选中行样式 obj.tr.addClass("layui-table-click").siblings().removeClass("layui-table-cli ck");
//选中行,勾选复选框
obj.tr.find("div.layui-unselect.layui-form-checkbox")[1].click();
});
2.批量删除(视图层)
//批量删除考生信息
function delEmployees() {
//获取选中行数据
var checkStatus = layuiTable.checkStatus("tabEmployee");
console.log(checkStatus);
(CheckStatus选中数据的所有值,具体可以通过控制台输出得知)
var employeeIDS = "";
for (var i = 0; i < checkStatus.data.length; i++) {
(checkStatus.data.length选中数据的总条数,通过遍历的方法为每一条选中数据中的ID值后拼接上”;”将提取出来的ID值进行分割)
employeeIDS += checkStatus.data[i].EmployeeID + ";";//拼接字符串 9617;9611;split(;) }
//去掉最后的一个“;”
//substring() 方法用于提取字符串中介于两个指定下标之间的字符。
//substring(start,stop) 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。[0,studentIds.length-1)
employeeIDS = employeeIDS.substring(0, employeeIDS.length - 1);
$.post("delStuInfos", { EmployeeIDS: employeeIDS }, function (msg) {
//刷新表格
tabEmployee.reload();
};
_____ 笔记
删除数据就如修改数据一样依靠数据的ID值来选中数据,我这用的是批量删除。所以提取出来的ID值是多条数据的
举例: 单条数据删除提取出来的ID值 9617
批量删除提取出来的数据ID值 96179611
通过字符拼接形成的多条数据的ID值 9617;9611
批量删除提取出来的ID值,提取出来后拼接在了一起,很明显通过这个拼接出来的ID值我们无法删除任何一条数据。但是通过字符拼接形成的多条数据的ID值,可以明显的区分出每条数据对应的ID值就可以进行数据的删除。
3.批量删除(控制器)
public ActionResult delStuInfos(string EmployeeIDS){
(EmployeeIDS是视图层拼接好的ID字符串 //9617;9611)
//对拼接好的id进行分割
string[] employeeIDS = EmployeeIDS.Split(';'); //9617;9611 {"9617","9611",""}
foreach (string EmployeeID in employeeIDS)
{
//将string类型的数据转化为int
int employeeID = Convert.ToInt32(EmployeeID);//9617
PW_Employee dbEmployee = (from tbEmployee in myModels.PW_Employee
where tbEmployee.EmployeeID == employeeID
select tbEmployee).Single();
分割并且转换类型就变成了我们需要的数据ID值,依靠ID将数据库中的数据提取出来,进行Remove(移除);
myModels.PW_Employee.Remove(dbEmployee); (删除关键句) }
_____ 小结
将提取的ID值由原来的 96179611,进行字符串拼接成 9617;9611,再分割成 “9617” “9611”。 批量删除无非就是多了这几步。将ID值拼接成字符串,再将字符串分割成单个的ID值,就演变成了单条数据的删除