• 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',  20, stype: 'text' },
       		                { name: 'FirstName', index: 'FirstName',  150, stype: 'text', sortable: true, editable: true },
       		                { name: 'LastName', index: 'LastName',  150, editable: true },
       		                { name: 'LastSSN', index: 'LastSSN',  60, editable: true },
       		                { name: 'Department', index: 'Department',  80, align: "right", editable: true },
       		                { name: 'Age', index: 'Age',  40, align: "right", editable: true },
       		                { name: 'Salary', index: 'Salary',  80, align: "right", editable: true },
       		                { name: 'Address', index: 'Address',  150, sortable: false, editable: true },
                            { name: 'MaritalStatus', index: 'MaritalStatus',  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,
                           //                        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; Initial Catalog=AdventureWorks2012; User ID=sa; Password=geovindu";
                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";
            }
        }
    

      

  • 相关阅读:
    图片自适应浏览器窗口宽度——就是响应式图片等比缩放效果
    iconfont.cn阿里巴巴矢量图下载字体图标实战
    layer.layui.com 一个不错的弹窗层js插件库
    自定义浏览器滚动条的样式,打造属于你的滚动条风格——兼容IE和webkit(ff不支持)
    css3实战版的点击列表项产生水波纹动画——之jsoop面向对象封装版
    css3实战版的点击列表项产生水波纹动画
    一个简单版的波纹css3动画
    CSS3动画效果——js调用css动画属性并回调处理详解
    CSS3 :target伪类实现Tab切换效果 BY commy
    css :active伪类的理解
  • 原文地址:https://www.cnblogs.com/geovindu/p/8365952.html
Copyright © 2020-2023  润新知