批量修改数据

1想要实现多条数据的新增或者修改,首先需要考虑的就是如果获取多条数据,获取多条数据之后就要考虑到数据的传递还有数据处理和修改
2如下如果想要实现批量审核或者批量反审核就是涉及到一条数据、两条数据或者多条数据的修改的问题,因为这个表格数据是通过layui插件渲染出来的数据,那么获取多条数据就变得十分简单,要引用和,
在这里插入图片描述

3通过layui里面的checkStatus,我们可以获取到所以复选框选中的数据,在这里我们不需要把每条数据里的所有数据都获取,只需要主键ID就足够了,如下通过checkStatus获取所有数据,
‘‘tabAcademe’’是表格ID,得到的数据是checkStatus.date,然后我们通过拼接方式把获取到的每一条数据的主键ID通过for循环拼接起来,循环结束后把拼接起来的字符串的最后一个I=主键ID后面的‘;’拼接符号删除掉,这是为了接下来在方便控制器中分割字符串获取多个主键ID,因为分割字符串也是通过”;”分割,值得注意的是主键ID本来就是int数据类型,但是选择是将多个int类型的主键ID拼接起来就是字符串了,在控制器中也是要通过string类型接收数据;
通过post方式提交数据到控制器中,$.post(“url”,{键:值},function(){根据返回的数据,执行下一步操作 })
function audit() {
var checkStatus = layuiTable. checkStatus (‘tabAcademe’);
if (checkStatus.data.length > 0) {
var myStockIndentID = ‘’;
for (var i = 0; i < checkStatus.data.length; i++) {
//将获取到的所有CommodityID拼接起来,每个ID之间用";“符号分隔开
myStockIndentID += checkStatus.data[i].StockIndentID + “;”;
}
//去掉最后一个ID之后的”;"
myStockIndentID =myStockIndentID.substring(0,myStockIndentID.length - 1);
$.post(“AuditDate”, { StockIndentID: myStockIndentID }, function (date) {
if (date == “ture”) {
alert(“审核成功!”);
window.location.replace("/Stock/StockIndent/StockIndent");
}

            })
        }

    }

4.在控制器中参数StockIndentID携带数据,接下来就是数据的处理了,把传过来的字符串用Split(‘;’)分割,并且声明一个数组去接收,这样就获取到一个拥有多个主键ID的数组了,接下来通过foreach循环遍历每一个主键ID,值得注意的是虽然获得了每一个主键ID的值,但是数据类型还是string,我们需要把string类型转换成int类型,通过Cover.Toint32(需要转换的string类型的数据),再通过每一个主键ID作为筛选条件去查询对应的数据,需要修改什么数据就是你的事情啦,
如下,我只是修改了PW_StockIndent表里面的CheckStateID,把筛选处理的这条数据的CheckStateIDID的值改为1了而已;

public ActionResult AuditDate(string StockIndentID)
{
var stJson = “”;
if (!string.IsNullOrEmpty(StockIndentID))
{
string[] stockIndentID = StockIndentID.Split(’;’);//截取标志;
foreach (var mystockIndentID in stockIndentID)
{
int stStockIndentID = Convert.ToInt32(mystockIndentID);
PW_StockIndent Date = (from tbStockIndent in myModel. PW_StockIndent
where tbStockIndent.StockIndentID == stStockIndentID
select tbStockIndent).Single();
Date.CheckStateID = 1;
myModel.Entry(Date).State = System.Data.Entity.EntityState.Modified;
if (myModel.SaveChanges() > 0)
{
stJson = “ture”;
}
}
}
return Json(stJson, JsonRequestBehavior.AllowGet);
}

猜你喜欢

转载自blog.csdn.net/qq_44489422/article/details/90636312