JqGrid: paing int asp.net
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; } } }