多语言展示
当前在线:982今日阅读:197今日分享:19

asp.net mvc +jqgrid实现批量删除数据

本例子主要实现asp.net mvc +jqgrid实现批量删除数据
工具/原料
1

vs2013

2

笔记本

方法/步骤
1

编写前端html代码

   
   

2

编写前端js 代码1、获取列表数据接口方法$(function () {        gridList();    })    function gridList() {        var $gridList = $('#gridList');           $gridList.dataGrid({            url: '/SecurityManagement/planManage/GetplanManageGridJson',            height: $(window).height() - 188,            postData: {                closeMark: 'false',            },            colModel: [                { label: '主键', name: 'id', hidden: true },                { label: '计划类型', name: 'planTypeId', align: 'left', width: 80 },                { label: '计划标题', name: 'planTypeId', align: 'left', width: 180 },                { label: '计划开展时间', name: 'planDate', align: 'left', width: 100, formatter: 'date', formatoptions: { srcformat: 'Y-m-d ', newformat: 'Y-m-d' } },                 { label: '创建时间', name: 'creatorTime', align: 'left', width: 100, formatter: 'date', formatoptions: { srcformat: 'Y-m-d H:i ', newformat: 'Y-m-d H:i ' } },                           ],                    multiselect: true,            pager: '#gridPager',            sortname: 'creatorTime',            sortorder: 'desc',            viewrecords: true,  //是否在浏览导航栏显示记录总数            rowNum: 10,//每页显示记录数            rowList: [10, 20, 30],//用于改变显示行数的下拉列表框的元素数组。             });2、删除的接口方法 //删除计划    function btn_delete() {        var gridKeyValue = getgrid('num');        if (!!gridKeyValue) {            $.deleteForm({                url: '/SecurityManagement/planManage/deletePlan?keyarry=' + getgrid('F_id') + '&rownum=' + getgrid('num'),                success: function () {                    $.currentWindow().$('#gridList').trigger('reloadGrid');                }            })        }        else {            $.modalMsg('请选择要删除的计划', 'warning');        }    } 3、jggrid 获取行参数的方法   //获取选中行信息    function getgrid(x) {        var fid = '';        var pstate = '';        var rownum = 0;        //删除多个,有复选框        var id = $('#gridList').jqGrid('getGridParam', 'selarrrow');        //遍历访问这个集合        $(id).each(function (index, id) {            //由id获得对应数据行            var row = $('#gridList').jqGrid('getRowData', id);            fid = fid + row.id + ',';            pstate = row.planstate;            rownum++;        })                if (x == 'num')            return rownum; //返回行数        else if (x == 'F_id')            return fid; //返回id字符串集        else if (x == 'planstate')            return pstate;    }

3

编写后台删除数据的逻辑代码 public ActionResult deletePlan(string keyarry, int rownum)        {            if (!string.IsNullOrEmpty(keyarry))            {                if (rownum <= 10)                {                    string[] keyValue = keyarry.Split(',');                    string sql;                    for (int i = 0; i < keyValue.Length - 1; i++)                    {                        string o = keyValue[i];                        sql = 'update planManage set deleteMark=1,deleteTime='' + DateTime.Now + '',deleteUserId='' + @NFine.Code.OperatorProvider.Provider.GetCurrent().UserId + '',lastModifyTime='' + DateTime.Now + '',lastModifyUserId='' + @mysql.Code.OperatorProvider.Provider.GetCurrent().UserId + '' where id='' + keyValue[i] + ''';                        aa.Database.ExecuteSqlCommand(sql);                    }                    return Success('成功删除' + (keyValue.Length - 1) + '条计划。');                }                else return Error('选中行数为' + rownum + ',超过10条上限!');            }            else return Error('警告:请选择操作行!');        }这里的删除数据是把deleteMark赋予1,代表数据已经删除,如果真正删除可以在上面例子中修改处理的代码

注意事项
1

以上就是小编带给大家的如何操作的关键所在,如果觉得本经验对你们有帮助,请给小编我进行一点小小的支持。大家也可以下面发表一下自己的看法。

2

个人意见,仅供参考。

推荐信息