无法从JQGrid添加和删除行 [英] Not able to Add and Delete row from JQGrid

查看:73
本文介绍了无法从JQGrid添加和删除行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是JQGrid设置信息

Here is the JQGrid setup information

jQuery(document).ready(function () {
        jQuery("#list").jqGrid({
            url: '/TabMaster/GetGridData',
            datatype: 'json',
            mtype: 'GET',
            colNames: ['col ID', 'First Name', 'Last Name'],
            colModel: [
                  { name: 'colID', index: 'colID', width: 100, align: 'left' },
                  { name: 'FirstName', index: 'FirstName', width: 150, align: 'left', editable: true },
                  { name: 'LastName', index: 'LastName', width: 300, align: 'left', editable: true },
                ],
            pager: jQuery('#pager'),
            rowNum: 4,
            rowList: [1, 2, 4, 5, 10],
            sortname: 'colID',
            sortorder: "asc",
            viewrecords: true,
            multiselect: true,
            imgpath: '/scripts/themes/steel/images',
            caption: 'Tab Master Information'
        }).navGrid('#pager', { edit: true, add: true, del: true },
        //Edit Options
        {
        savekey: [true, 13],
        reloadAfterSubmit: true,
        jqModal: false,
        closeOnEscape: true,
        closeAfterEdit: true,
        url: "/TabMaster/Edit/",
        afterSubmit: function (response, postdata) {
            if (response.responseText == "Success") {
                jQuery("#success").show();
                jQuery("#success").html("Company successfully updated");
                jQuery("#success").fadeOut(6000);
                return [true, response.responseText]
            }
            else {
                return [false, response.responseText]
            }
        }
    });
});



以下是使用JQGrid获取数据和更新数据的详细信息


following is the details for Getting Data and Update Data using JQGrid

#region "JQGrid Actions"
        public JsonResult GetGridData(string sidx, string sord, int rows, int page)
        {
            int pageIndex = page;
            int totalRecords = Convert.ToInt32(_tabmasterService.Count());
            int totalPages = (int)Math.Ceiling((float)totalRecords / (float)rows);
            IQueryable<TabMasterViewModel> tabmasters = _tabmasterService.GetQueryTabMasterList(sidx, sord, rows, page);
            var jsonData = new
            {
                total = totalPages,
                page = page,
                records = totalRecords,
                rows = (from tm in tabmasters
                        select new
                        {
                            id = tm.colID,
                            cell = new string[] { tm.colID.ToString(), tm.FirstName, tm.LastName }
                        }).ToArray()
            };
            return Json(jsonData, JsonRequestBehavior.AllowGet);
        }
        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Edit(int id, FormCollection updateExisting)
        {
            int _id = Convert.ToInt32(updateExisting["colID"]);
            TabMasterViewModel editExisting = new TabMasterViewModel();
            editExisting = _tabmasterService.GetSingle(x => x.colID == id);
            try
            {
                UpdateModel(editExisting);
                _tabmasterService.Update(editExisting);
                return Content("Success");
            }
            catch (Exception e)
            {
                return Content(e.Message);
            }
        }
        #endregion 



< b>注意: - 获取和更新成功运行但我在ADD和DELETE中遇到问题。请有人帮我写ADD和DELETE的功能吗?


Note:- Get and Update is successfully working but i have problem in ADD and DELETE. Please anybody help me to write the function for ADD and DELETE?

推荐答案

以下是ADD,EDIT AND DELETE文件的完整解决方案:index.cshtml



Here is complete solution for ADD, EDIT AND DELETE file: index.cshtml

jQuery(document).ready(function () {
        jQuery("#list").jqGrid({
            url: '/TabMaster/GetGridData',
            datatype: 'json',
            mtype: 'GET',
            colNames: ['col ID', 'First Name', 'Last Name'],
            colModel: [
                  { name: 'colID', index: 'colID', width: 100, align: 'left', searchoptions: { sopt: ['eq', 'ne', 'cn']} },
                  { name: 'FirstName', index: 'FirstName', width: 150, align: 'left', editable: true },
                  { name: 'LastName', index: 'LastName', width: 300, align: 'left', editable: true },
                ],
            pager: jQuery('#pager'),
            rowNum: 4,
            rowList: [1, 2, 4, 5, 10],
            sortname: 'colID',
            sortorder: "asc",
            viewrecords: true,
            multiselect: true,
            imgpath: '/scripts/themes/steel/images',
            caption: 'Tab Master Information'
        }).navGrid('#pager', { edit: true, add: true, del: true },
        // Edit options
            {
            savekey: [true, 13],
            reloadAfterSubmit: true,
            jqModal: false,
            closeOnEscape: true,
            closeAfterEdit: true,
            url: "/TabMaster/Edit/",
            afterSubmit: function (response, postdata) {
                if (response.responseText == "Success") {
                    jQuery("#success").show();
                    jQuery("#success").html("Company successfully updated");
                    jQuery("#success").fadeOut(6000);
                    return [true, response.responseText]
                }
                else {
                    return [false, response.responseText]
                }
            }
        },
        // Add options
             {url: '/TabMaster/Create', closeAfterAdd: true },
        // Delete options
               {url: '/TabMaster/Remove' },
               { closeOnEscape: true, multipleSearch: true,
                   closeAfterSearch: true
               }
               );
    });







file:controller.cs






file: controller.cs

#region "JQGrid Actions"
        public JsonResult GetGridData(string sidx, string sord, int rows, int page)
        {
            int pageIndex = page;
            int totalRecords = Convert.ToInt32(_tabmasterService.Count());
            int totalPages = (int)Math.Ceiling((float)totalRecords / (float)rows);
            IQueryable<TabMasterViewModel> tabmasters = _tabmasterService.GetQueryTabMasterList(sidx, sord, rows, page);
            var jsonData = new
            {
                total = totalPages,
                page = page,
                records = totalRecords,
                rows = (from tm in tabmasters
                        select new
                        {
                            id = tm.colID,
                            cell = new string[] { tm.colID.ToString(), tm.FirstName, tm.LastName }
                        }).ToArray()
            };
            return Json(jsonData, JsonRequestBehavior.AllowGet);
        }
        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Edit(int id, FormCollection updateExisting)
        {
            int _id = Convert.ToInt32(updateExisting["colID"]);
            TabMasterViewModel editExisting = new TabMasterViewModel();
            editExisting = _tabmasterService.GetSingle(x => x.colID == id);
            try
            {
                UpdateModel(editExisting);
                _tabmasterService.Update(editExisting);
                return Content("Success");
            }
            catch (Exception e)
            {
                return Content(e.Message);
            }
        }
        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Remove(string id)
        {
            List<String> ids = new List<String>(id.Split(','));
            for (int i = 0; i < ids.Count; i++)
            {
                int deleteid = Convert.ToInt32(ids[i]);
                TabMasterViewModel deleteExisting = new TabMasterViewModel();
                deleteExisting = _tabmasterService.GetSingle(x => x.colID == deleteid);
                _tabmasterService.Delete(deleteExisting);
            }
            return RedirectToAction("Index");
        }
        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Create(FormCollection FormValue)
        {
            if (ModelState.IsValid)
            {
                TabMasterViewModel addNew = new TabMasterViewModel();
                addNew.FirstName = FormValue["FirstName"];
                addNew.LastName = FormValue["LastName"];
                _tabmasterService.Add(addNew);
            }
            return RedirectToAction("Index");
        }
        #endregion







HTH




HTH


这篇关于无法从JQGrid添加和删除行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆