欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JqGrid: paing int asp.net

程序员文章站 2022-06-22 12:40:20
jadgrid.aspx geovinHandler.ashx: ......

jadgrid.aspx

<!DOCTYPE html>
<!--HTML5 doctype-->
<html>
<head runat="server">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
<title>JQGrid 测试分页用</title>
    <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>
    <script type="text/javascript">
        $(function () {
            $("#UsersGrid").jqGrid({
                url: 'geovinHandler.ashx',
                datatype: 'json',
                height: 550,
                colNames: ['序號', '會員卡號', '會員姓名', '保證單號', '會員登錄賬號', '發佈時間'],
                colModel: [
                          { name: 'LotteryId', index: 'LotteryId', width: 100, sortable: true },
                          { name: 'LotteryVipNo', width: 100, sortable: true, editable: true },
                          { name: 'LotteryVipName', width: 100, sortable: true, editable: true },
                          { name: 'LotteryGuaranteeNumber', width: 100, sortable: true, editable: true },
                          { name: 'LotteryBranchAccount', width: 100, sortable: true, editable: true },
                          { name: 'LotteryAddTime',formatter: "date",ormatoptions: { srcformat: "ISO8601Long", newformat: "m/d/Y h:i A" }, width: 150, sortable: true }
                      ],
                rowNum: 50,
                mtype: 'GET',
                loadonce: true,
                rowList: [50, 100, 300],
                pager: '#UsersGridPager',
                sortname: 'LotteryId',
                viewrecords: true,
                sortorder: 'asc',
                editurl: 'geovinHandler.ashx',
                caption: '會員穫得中獎名單'
            });

            $("#UsersGrid").jqGrid('navGrid', '#UsersGridPager',
            {
                       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 = $('#UsersGrid').jqGrid('getGridParam', 'selrow');
                               var value = $('#UsersGrid').jqGrid('getCell', sel_id, 'LotteryId');
                               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 == "") {

                               $("#UsersGrid").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 = $('#UsersGrid').jqGrid('getGridParam', 'selrow');
                               var value = $('#UsersGrid').jqGrid('getCell', sel_id, 'LotteryId');
                               return value;
                           }
                       }
                   },
                   {//SEARCH
                       closeOnEscape: true

                   });
        });  
             
      </script>  
</head>
<body>
    <form id="form1" runat="server">
    <div>
  <table id="UsersGrid" cellpadding="0" cellspacing="0">   
    </table>         
     <div id="UsersGridPager">  
        </div>  
    </div>
    </form>
</body>
</html>

  geovinHandler.ashx:

 /// <summary>
    /// $codebehindclassname$ 的摘要说明
    /// geovindu
    /// 20180128
    /// 涂聚文
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class geovinHandler : IHttpHandler
    {

        DuMembershipLotteryBLL bll = new DuMembershipLotteryBLL();
        /// <summary>
        /// 
        /// </summary>
        /// <param name="context"></param>
        public void ProcessRequest(HttpContext context)
        {
            HttpRequest request = context.Request;
            HttpResponse response = context.Response;

            System.Collections.Specialized.NameValueCollection forms = context.Request.Form;
            string strOperation = forms.Get("oper"); //
            response.Write(strOperation);
            string strResponse = string.Empty;
            string _search = request["_search"];
            string numberOfRows = request["rows"];
            string pageIndex = request["page"];
            string sortColumnName = request["sidx"];
            string sortOrderBy = request["sord"];
            int totalRecords;
            List<DuMembershipLotteryInfo> info = new List<DuMembershipLotteryInfo>();
            if (strOperation == null)
            {
                info = bll.SelectDuMembershipLotteryPaging(Convert.ToInt32(numberOfRows), Convert.ToInt32(pageIndex), sortColumnName, sortOrderBy, out totalRecords);
                string output = BuildJQGridResults(info, Convert.ToInt32(numberOfRows), Convert.ToInt32(pageIndex), Convert.ToInt32(totalRecords));
                response.Write(output);
            }
            else if (strOperation == "del")
            {
                string strEmpId = forms.Get("id").ToString();
                //DeleteEmployee(strEmpId);
                bool del = false;
                del = bll.DeleteDuMembershipLottery(Convert.ToInt32(strEmpId));
                if (del)
                {
                    strResponse = "删除成功";
                }
                context.Response.Write(strResponse);

            }
            else
            {
                string strOut = string.Empty;
                AddEdit(forms, info, out strOut);
                context.Response.Write(strOut);
            }
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="users"></param>
        /// <param name="numberOfRows"></param>
        /// <param name="pageIndex"></param>
        /// <param name="totalRecords"></param>
        /// <returns></returns>
        private string BuildJQGridResults(List<DuMembershipLotteryInfo> infos, int numberOfRows, int pageIndex, int totalRecords)
        {

            JQGridResults result = new JQGridResults();
            List<JQGridRow> rows = new List<JQGridRow>();
            foreach (DuMembershipLotteryInfo info in infos)
            {
                JQGridRow row = new JQGridRow();
                row.id = info.LotteryId;
                row.cell = new string[6];
                row.cell[0] = info.LotteryId.ToString();
                row.cell[1] = info.LotteryVipNo;
                row.cell[2] = info.LotteryVipName;
                row.cell[3] = info.LotteryGuaranteeNumber;
                row.cell[4] = info.LotteryBranchAccount;
                row.cell[5] = info.LotteryAddTime.ToString();
                rows.Add(row);
            }
            result.rows = rows.ToArray();
            result.page = pageIndex;
            result.total = totalRecords / numberOfRows;
            result.records = totalRecords;
            return new JavaScriptSerializer().Serialize(result);
        }

        /// <summary>
        /// 添加或修改操作
        /// </summary>
        /// <param name="forms"></param>
        /// <param name="collectionEmployee"></param>
        /// <param name="strResponse"></param>
        private void AddEdit(NameValueCollection forms, List<DuMembershipLotteryInfo> collectionInfo, out string strResponse)
        {
            string strOperation = forms.Get("oper");
            string strEmpId = string.Empty;
            DuMembershipLotteryInfo info = new DuMembershipLotteryInfo();
            info.LotteryVipNo = forms.Get("LotteryVipNo").ToString();
            info.LotteryVipName = forms.Get("LotteryVipName").ToString();
            info.LotteryGuaranteeNumber = forms.Get("LotteryGuaranteeNumber").ToString();
            info.LotteryBranchAccount = forms.Get("LotteryBranchAccount").ToString();
            info.LotteryAddTime = DateTime.Now;
            int saveok = 0;
            //string strdate = forms.Get("UpdateTime").ToString();

            if (strOperation == "add")
            {                
                string result = "0";
                strEmpId = (Convert.ToInt32(result) + 1).ToString();
                saveok = bll.InsertDuMembershipLottery(info);
                if (saveok > 0)
                {
                    strResponse = "record successfully added添加成功";
                }
                else
                { strResponse = ""; }
            }
            else if (strOperation == "edit")
            {
                strEmpId = forms.Get("EmpId").ToString(); //获取修改ID
                info.LotteryId = Convert.ToInt32(strEmpId);
                saveok=bll.UpdateDuMembershipLottery(info);
                if (saveok > 0)
                {
                    strResponse = "record successfully updated修改成功";
                }
                else
                { strResponse = ""; }
            }
            else
            {
                strResponse = "";
            }

        }
        /// <summary>
        /// 
        /// </summary>
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }