JqGrid: Add,Edit,Del in asp.net

https://github.com/1rosehip/jplist

https://github.com/free-jqgrid/jqGrid

https://plugins.jquery.com/tag/pagination/

https://dotnetsourcedileep.codeplex.com/

/// https://sql2mongo.codeplex.com/
/// https://forums.asp.net/t/1629287.aspx?serverside+code+for+Add+Edit+Del+in+jQGrid
/// https://forums.asp.net/t/1627666.aspx?Edit+Add+Del+in+Jqgrid
/// http://trirand.net/examples/grid/editing_data/edit_add_delete/default.aspx
/// http://www.trirand.com/blog/?page_id=6
/// https://jqgridaspnetmvc.codeplex.com/
/// https://github.com/tpeczek/Lib.AspNetCore.Mvc.JqGrid
/// https://jqmvcgrid.codeplex.com/
/// http://jqgridaspnetmvc.codeplex.com/
/// https://mvccrud.codeplex.com/
/// http://www.trirand.net/download.aspx
/// https://dotnetsourcedileep.codeplex.com/

http://www.c-sharpcorner.com/uploadfile/rahul4_saxena/jqgrid-in-asp-net-c-sharp/

https://github.com/tonytomov/jqGrid

sql:

--jQGridDemo AdventureWorks2012
CREATE  TABLE Employee
(
	_id VARCHAR(100),
	FirstName NVARCHAR(100),
	LastName NVARCHAR(100),
	LastSSN NVARCHAR(100),
	Department NVARCHAR(100),
	Age INT,
	Salary NVARCHAR(100),
	[Address] NVARCHAR(100),
	MaritalStatus NVARCHAR(100)
)
GO

SELECT * FROM dbo.Employee
GO

INSERT dbo.Employee
        ( _id ,
          FirstName ,
          LastName ,
          LastSSN ,
          Department ,
          Age ,
          Salary ,
          Address ,
          MaritalStatus
        )
VALUES  ( ‘1‘ , -- _id - varchar(100)
          N‘du‘ , -- FirstName - nvarchar(100)
          N‘geovindu‘ , -- LastName - nvarchar(100)
          N‘N0002‘ , -- LastSSN - nvarchar(100)
          N‘IT‘ , -- Department - nvarchar(100)
          40 , -- Age - int
          N‘40000‘ , -- Salary - nvarchar(100)
          N‘SZ‘ , -- Address - nvarchar(100)
          N‘1‘  -- MaritalStatus - nvarchar(100)
        )
GO

INSERT dbo.Employee
        ( _id ,
          FirstName ,
          LastName ,
          LastSSN ,
          Department ,
          Age ,
          Salary ,
          Address ,
          MaritalStatus
        )
VALUES  ( ‘2‘ , -- _id - varchar(100)
          N‘涂‘ , -- FirstName - nvarchar(100)
          N‘聚文‘ , -- LastName - nvarchar(100)
          N‘N0001‘ , -- LastSSN - nvarchar(100)
          N‘HR‘ , -- Department - nvarchar(100)
          40 , -- Age - int
          N‘80000‘ , -- Salary - nvarchar(100)
          N‘SZ‘ , -- Address - nvarchar(100)
          N‘2‘  -- MaritalStatus - nvarchar(100)
        )
GO

INSERT dbo.Employee
        ( _id ,
          FirstName ,
          LastName ,
          LastSSN ,
          Department ,
          Age ,
          Salary ,
          Address ,
          MaritalStatus
        )
VALUES  ( ‘3‘ , -- _id - varchar(100)
          N‘涂‘ , -- FirstName - nvarchar(100)
          N‘斯博‘ , -- LastName - nvarchar(100)
          N‘N0003‘ , -- LastSSN - nvarchar(100)
          N‘HR‘ , -- Department - nvarchar(100)
          10 , -- Age - int
          N‘80000‘ , -- Salary - nvarchar(100)
          N‘SZ‘ , -- Address - nvarchar(100)
          N‘3‘  -- MaritalStatus - nvarchar(100)
        )
GO

  Default.aspx:

    <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
    <script src="JQGridReq/jquery-1.9.0.min.js" type="text/javascript"></script>
    <link href="JQGridReq/jquery-ui-1.9.2.custom.css" rel="stylesheet" type="text/css" />
    <script src="JQGridReq/jquery.jqGrid.js" type="text/javascript"></script>
    <link href="JQGridReq/ui.jqgrid.css" rel="stylesheet" type="text/css" />
    <script src="JQGridReq/grid.locale-cn.js" type="text/javascript"></script>

    <h2>
        Welcome To Kodoths JQGrid Demo
    </h2>
    <table id="jQGridDemo">
    </table>
    <div id="jQGridDemoPager">
    </div>
    <script type="text/javascript">
        jQuery("#jQGridDemo").jqGrid({
            url: ‘JQGridHandler.ashx‘,
            datatype: "json",
            height:500,
            colNames: [‘Id‘, ‘First Name‘, ‘Last Name‘, ‘Last 4 SSN‘, ‘Department‘, ‘Age‘, ‘Salary‘, "Address", ‘Marital Status‘],  //名称
            colModel: [
                        { name: ‘_id‘, index: ‘_id‘, width: 20, stype: ‘text‘ },
   		                { name: ‘FirstName‘, index: ‘FirstName‘, width: 150, stype: ‘text‘, sortable: true, editable: true },
   		                { name: ‘LastName‘, index: ‘LastName‘, width: 150, editable: true },
   		                { name: ‘LastSSN‘, index: ‘LastSSN‘, width: 60, editable: true },
   		                { name: ‘Department‘, index: ‘Department‘, width: 80, align: "right", editable: true },
   		                { name: ‘Age‘, index: ‘Age‘, width: 40, align: "right", editable: true },
   		                { name: ‘Salary‘, index: ‘Salary‘, width: 80, align: "right", editable: true },
   		                { name: ‘Address‘, index: ‘Address‘, width: 150, sortable: false, editable: true },
                        { name: ‘MaritalStatus‘, index: ‘MaritalStatus‘, width: 100, sortable: false, editable: true }
   	                  ],
            rowNum: 10,
            mtype: ‘GET‘,
            loadonce: true,
            rowList: [10, 20, 30],
            pager: ‘#jQGridDemoPager‘,
            sortname: ‘_id‘,
            viewrecords: true,
            sortorder: ‘desc‘,
            caption: "List Employee Details 客户列表",
            editurl: ‘JQGridHandler.ashx‘ //http://localhost:58404/
        });

        $(‘#jQGridDemo‘).jqGrid(‘navGrid‘, ‘#jQGridDemoPager‘,
                   {
                       edit: true,
                       add: true,
                       del: true,
                       search: true,
                       searchtext: "Search",
                       addtext: "Add",
                       edittext: "Edit",
                       deltext: "Delete"
                   },
                   {   //EDIT
                       //                       height: 300,
                       //                       width: 400,
                       //                       top: 50,
                       //                       left: 100,
                       //                       dataheight: 280,
                       closeOnEscape: true, //Closes the popup on pressing escape key
                       reloadAfterSubmit: true,
                       drag: true,
                       afterSubmit: function (response, postdata) {
                           if (response.responseText == "") {

                               $(this).jqGrid(‘setGridParam‘, { datatype: ‘json‘ }).trigger(‘reloadGrid‘); //Reloads the grid after edit
                               return [true, ‘‘]
                           }
                           else {
                               $(this).jqGrid(‘setGridParam‘, { datatype: ‘json‘ }).trigger(‘reloadGrid‘); //Reloads the grid after edit
                               return [false, response.responseText]//Captures and displays the response text on th Edit window
                           }
                       },
                       editData: {
                           EmpId: function () {
                               var sel_id = $(‘#jQGridDemo‘).jqGrid(‘getGridParam‘, ‘selrow‘);
                               var value = $(‘#jQGridDemo‘).jqGrid(‘getCell‘, sel_id, ‘_id‘);
                               return value;
                           }
                       }
                   },
                   {
                       closeAfterAdd: true, //Closes the add window after add
                       afterSubmit: function (response, postdata) {
                           if (response.responseText == "") {

                               $(this).jqGrid(‘setGridParam‘, { datatype: ‘json‘ }).trigger(‘reloadGrid‘)//Reloads the grid after Add
                               return [true, ‘‘]
                           }
                           else {
                               $(this).jqGrid(‘setGridParam‘, { datatype: ‘json‘ }).trigger(‘reloadGrid‘)//Reloads the grid after Add
                               return [false, response.responseText]
                           }
                       }
                   },
                   {   //DELETE
                       closeOnEscape: true,
                       closeAfterDelete: true,
                       reloadAfterSubmit: true,
                       closeOnEscape: true,
                       drag: true,
                       afterSubmit: function (response, postdata) {
                           if (response.responseText == "") {

                               $("#jQGridDemo").trigger("reloadGrid", [{ current: true}]);
                               return [false, response.responseText]
                           }
                           else {
                               $(this).jqGrid(‘setGridParam‘, { datatype: ‘json‘ }).trigger(‘reloadGrid‘);
                               return [true, response.responseText]
                           }
                       },
                       delData: {
                           EmpId: function () {
                               var sel_id = $(‘#jQGridDemo‘).jqGrid(‘getGridParam‘, ‘selrow‘);
                               var value = $(‘#jQGridDemo‘).jqGrid(‘getCell‘, sel_id, ‘_id‘);
                               return value;
                           }
                       }
                   },
                   {//SEARCH
                       closeOnEscape: true

                   }
            );

    </script>

  JQGridHandler.ashx:

   public class JQGridHandler : IHttpHandler
    {
        /// <summary>
        ///
        /// </summary>
        /// <param name="context"></param>
        public void ProcessRequest(HttpContext context)
        {
            System.Collections.Specialized.NameValueCollection forms = context.Request.Form;
            string strOperation = forms.Get("oper");

            MONGOConnect objMC = new MONGOConnect();//Helper Class
            var collectionEmployee = objMC.GetMongoCollection("Employee");//Gets Employee Collection

            List<Employee> emy = new List<Employee>();
            //Employee ep = new Employee();
            //ep._id = "1";
            //ep.Address = "sz";
            //ep.Age = 40;
            //ep.Department = "it";
            //ep.FirstName = "du";
            //ep.LastName = "geovin";
            //ep.LastSSN = "N0001";
            //ep.MaritalStatus = "1";
            //ep.Salary = "4000";
            //emy.Add(ep);
            //ep = new Employee();
            //ep._id = "2";
            //ep.Address = "深圳";
            //ep.Age = 40;
            //ep.Department = "人事部";
            //ep.FirstName = "涂";
            //ep.LastName = "涂聚文";
            //ep.LastSSN = "N0002";
            //ep.MaritalStatus = "1";
            //ep.Salary = "8000";
            //emy.Add(ep);
            emy = getList();

            string strResponse = string.Empty;
            //查询
            if (strOperation == null)
            {
                //oper = null which means its first load.
                var jsonSerializer = new JavaScriptSerializer();
                context.Response.Write(jsonSerializer.Serialize(emy));//collectionEmployee.AsQueryable<Employee>().ToList<Employee>()

            }
            else if (strOperation == "del") //删除
            {
                var query = Query.EQ("_id", forms.Get("EmpId").ToString());
                string de = forms.Get("EmpId").ToString();
                //collectionEmployee.Remove(query);
                strResponse = "Employee record successfully removed:"+de;
                context.Response.Write(strResponse);
            }
            else
            {
                 string strOut=string.Empty;
                 AddEdit(forms, collectionEmployee, out strOut);
                 context.Response.Write(strOut);
            }

        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        private List<Employee> getList()
        {
             List<Employee> users = new List<Employee>();
            string connectionString = @"Data Source=GEOVINDU; Initial Catalog=AdventureWorks2012; User ID=sa; Password=geovindu";
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                using (SqlCommand command = new SqlCommand())
                {
                    command.Connection = connection;
                    command.CommandText = "SELECT * FROM dbo.Employee";
                    command.CommandType = CommandType.Text;
                    connection.Open();
                    using (SqlDataReader dataReader = command.ExecuteReader())
                    {
                        Employee user;
                        while (dataReader.Read())
                        {
                            user = new Employee();
                            user._id = Convert.ToString(dataReader["_id"]);
                            user.Address = Convert.ToString(dataReader["Address"]);
                            user.Age = Convert.ToInt32(dataReader["Age"]);
                            user.Department = Convert.ToString(dataReader["Department"]);
                            user.FirstName = Convert.ToString(dataReader["FirstName"]);
                            user.LastName = Convert.ToString(dataReader["LastName"]);
                            user.LastSSN = Convert.ToString(dataReader["LastSSN"]);
                            user.MaritalStatus = Convert.ToString(dataReader["MaritalStatus"]);
                            user.Salary = Convert.ToString(dataReader["Salary"]);
                            users.Add(user);
                        }
                    }
                }
            }
            return users;
        }

        /// <summary>
        ///
        /// </summary>
        /// <param name="numberOfRows"></param>
        /// <param name="pageIndex"></param>
        /// <param name="sortColumnName"></param>
        /// <param name="sortOrderBy"></param>
        /// <param name="totalRecords"></param>
        /// <returns></returns>
        private List<Employee> GetUsers(string numberOfRows, string pageIndex, string sortColumnName, string sortOrderBy, out int totalRecords)
        {
            List<Employee> users = new List<Employee>();
            string connectionString = @"Data Source=GEOVINDU-PC\GEOVINDU; Initial Catalog=AdventureWorks2012; User ID=sa; Password=770214";
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                using (SqlCommand command = new SqlCommand())
                {
                    command.Connection = connection;
                    command.CommandText = "SelectjqGridUsers";
                    command.CommandType = CommandType.StoredProcedure;

                    SqlParameter paramPageIndex = new SqlParameter("@PageIndex", SqlDbType.Int);
                    paramPageIndex.Value = Convert.ToInt32(pageIndex);
                    command.Parameters.Add(paramPageIndex);

                    SqlParameter paramColumnName = new SqlParameter("@SortColumnName", SqlDbType.VarChar, 50);
                    paramColumnName.Value = sortColumnName;
                    command.Parameters.Add(paramColumnName);

                    SqlParameter paramSortorderBy = new SqlParameter("@SortOrderBy", SqlDbType.VarChar, 4);
                    paramSortorderBy.Value = sortOrderBy;
                    command.Parameters.Add(paramSortorderBy);

                    SqlParameter paramNumberOfRows = new SqlParameter("@NumberOfRows", SqlDbType.Int);
                    paramNumberOfRows.Value = Convert.ToInt32(numberOfRows);
                    command.Parameters.Add(paramNumberOfRows);

                    SqlParameter paramTotalRecords = new SqlParameter("@TotalRecords", SqlDbType.Int);
                    totalRecords = 0;
                    paramTotalRecords.Value = totalRecords;
                    paramTotalRecords.Direction = ParameterDirection.Output;
                    command.Parameters.Add(paramTotalRecords);

                    connection.Open();
                    using (SqlDataReader dataReader = command.ExecuteReader())
                    {
                        Employee user;
                        while (dataReader.Read())
                        {
                            user = new Employee();
                            user._id = Convert.ToString(dataReader["_id"]);
                            user.Address = Convert.ToString(dataReader["UserName"]);
                            user.Age = Convert.ToInt32(dataReader["Age"]);
                            user.Department = Convert.ToString(dataReader["Department"]);
                            user.FirstName = Convert.ToString(dataReader["FirstName"]);
                            user.LastName = Convert.ToString(dataReader["LastName"]);
                            user.LastSSN = Convert.ToString(dataReader["LastSSN"]);
                            user.MaritalStatus = Convert.ToString(dataReader["MaritalStatus"]);
                            user.Salary = Convert.ToString(dataReader["Salary"]);
                            users.Add(user);
                        }
                    }
                    totalRecords = (int)paramTotalRecords.Value;
                }

                return users;
            }

        }  

        /// <summary>
        /// 添加,修改
        /// </summary>
        /// <param name="forms"></param>
        /// <param name="collectionEmployee"></param>
        /// <param name="strResponse"></param>
        private void AddEdit(NameValueCollection forms, MongoCollection collectionEmployee,out string strResponse)
        {
            string strOperation = forms.Get("oper");
            string strEmpId = string.Empty;
            if (strOperation == "add") //添加
            {
                var result = 40;// collectionEmployee.AsQueryable<Employee>().Select(c => c._id).Max();
                strEmpId = (Convert.ToInt32(result) + 1).ToString();
            }
            else if (strOperation == "edit") //编辑
            {
                strEmpId = forms.Get("EmpId").ToString();

            }

            string strFirstName = forms.Get("FirstName").ToString();
            string strLastName = forms.Get("LastName").ToString();
            string strLastSSN = forms.Get("LastSSN").ToString();
            string strDepartment = forms.Get("Department").ToString();
            string strAge = forms.Get("Age").ToString();
            string strSalary = forms.Get("Salary").ToString();
            string strAddress = forms.Get("Address").ToString();
            string strMaritalStatus = forms.Get("MaritalStatus").ToString();
            Employee objEmp = new Employee();
            objEmp._id = strEmpId;
            objEmp.FirstName = strFirstName;
            objEmp.LastName = strLastName;
            objEmp.LastSSN = strLastSSN;
            objEmp.Department = strDepartment;
            objEmp.Age = Convert.ToInt32(strAge);
            objEmp.Address = strAddress;
            objEmp.MaritalStatus = strMaritalStatus;
            objEmp.Salary = strSalary;

            //collectionEmployee.Save(objEmp);
            strResponse = "Employee record successfully updated";
        }
    }

  

原文地址:https://www.cnblogs.com/geovindu/p/8365952.html

时间: 2025-01-13 22:55:26

JqGrid: Add,Edit,Del in asp.net的相关文章

ASP.NET MVC开发,编辑页面和添加页面基本相同,我们控制器 Add Edit是共用同一个View吗?

http://q.cnblogs.com/q/51693/ 这种的话,一般公用就好了.,如下的写法: [HttpGet] public ActionResult UserManage(int userId=0) { if (userId==0) { return ActionResult(new UserInfo()); } else { ViewBag.IsEdit = true; return ActionResult(GetUserInfo(userId)); } } [HttpPost]

Eclipse User Library Add/Edit/Remove

1:前文 近来开发项目采用的技术是AngularJS+Bootstrap+Spring Boot+SpringMvc+JPA 的方式,创建的项目是 Java Project,对应的JAR文件需要添加到对应的用户类库文件中,之前的 JavaEE 项目放到WEB-INF/lib下就可以了,放的时候发现有时总要从头到尾的找一次对应的配置方式,感觉很不爽,所以,下面简单记录一下自己总结的操作步骤以备后用. 2:话不多说,步骤也比较简单,只是时间一长就容易忘记,所以,备在博客园里更加的靠谱些 2-1:添加

ASP.NET中使用JqGrid完整实现

文章提纲 介绍 & 使用场景 JqGrid的一些说明 JqGrid和ASP.NET整合详细步骤 前置准备 框架搭建 数据填充 数据增/删/改 其他 介绍&使用场景 JqGrid不是一个新鲜玩意,已经是一个久经证明的开源数据显示控件了. 园子里也有一些介绍文章,为什么还要写这篇文章呢? 因为还找不到可以完整讲述JqGrid集成的文章,我指的是从头至尾的完整的讲述,而不是其中一些片段或介绍一些参数. 正好在看到一篇文章完整的讲述了这个步骤: http://www.codeproject.com

Asp.Net MVC中使用ACE模板之Jqgrid

第一次看到ACE模板,有种感动,有种相见恨晚的感觉,于是迅速来研究.它本身是基于bootstrap和jqueryui,但更nice,整合之后为后台开发节省了大量时间. 发现虽然不是完美,整体效果还是不错,特此分享给园友.这一节先讲其中的Jqgrid.按照国际惯例,先上两张图. 集成了button,form,treeview以及日历,时间轴.chart等控件,非常丰富.下面是Jqgrid在MVC中的使用. jqgrid的加载,排序,查找都是基于后台方法,不是在内存中完成,但也有一些小坑.下面一一道

基于Bootstrap使用jQuery实现简单可编辑表格

editTable.js 提供编辑表格当前行.添加一行.删除当前行的操作,其中可以设置参数,如: operatePos 用于设置放置操作的列,从0开始,-1表示以最后一列作为放置操作的列:(这里的操作包括 编辑当前行.在当前行下添加一行.删除当前行) handleFirst 设置表格的第一行是否作为操作的对象,true为真,false为假: edit.save.cancel.add.confirm.del 分别设置显示操作的操作名,默认显示"编辑"."保存".&qu

Rbac_权限管理

click!!! https://github.com/ugfly1210/rbac_100 有关于 rbac 的所有代码,包括 README. 用户和角色 : 多对多字段放在哪张表更好点? 用户找角色,角色找权限. 放在user表中,是正向查询,我们操作起来更方便些. 记得在admin里面,admin.site.register(models.User) 记得在admin里面,admin.site.register(models.Permission) 记得在admin里面,admin.sit

Bootstrap-table 使用说明

如何在表格td里增加一个按钮:如何在列表操作列区域添加按钮 初始化表格 table.bootstrapTable -->columns 增加: { field: 'operate', title: __('Operate'), table: table, buttons: [ {name: 'detail', text: '详情', title: '详情', icon: 'fa fa-list', classname: 'btn btn-xs btn-primary btn-dialog', u

[转]ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好.打开Models \ Movie.cs文件,并添加高亮行如下所示: using System; using System.ComponentModel.DataAnnotations; using System.Data.Entity; namespace MvcMovie.Models { public class Movie

ASP.NET MVC+EF在服务端分页使用jqGrid以及jquery Datatables的注意事项

引言: 本人想自己个博客网站出来,技术路线是用ASN.NET MVC5+EF6(Code First)+ZUI+各种Jquery插件,有了这个想法之后就开始选择UI,看了好多bootstrap的模板之后,发现即使你用了bootstrap还是要自己写css样式,都是自学的,前端真的很垃圾,在网上找了很多UI,以下是各种UI的地址,需要的可以去看看: H-ui:http://www.h-ui.net/H-ui.admin.shtml ,是一个前端大牛弄得,模仿bootstrap,做适合中国网上的UI