https://www.codeproject.com/Articles/1118363/GridView-with-Server-Side-Filtering-Sorting-and-Pa

http://mvcgrid.net/download

https://github.com/joeharrison714/MVCGrid.Net

https://www.nuget.org/packages/PagedList.Mvc/

https://datatables.net/download/index

https://archive.codeplex.com/?p=jqmvcgrid

https://www.nuget.org/packages/jQuery.Grid/

https://github.com/atatanasov/gijgo

https://github.com/TroyGoode/PagedList

http://gijgo.com/grid

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;
}
}
}

  

JqGrid: paging int asp.net的更多相关文章

  1. 使用jqgrid的C#/asp.net mvc开发者的福音 jqgrid-asp.net-mvc

    你是否使用jqgrid? 你是否想在C#/asp.net mvc中使用jqgrid? 那你很可能曾经为了分析jqgrid的request url用fiddler忙活了2个小时.(如果你要使用jqgri ...

  2. JqGrid: Add,Edit,Del in asp.net

    https://github.com/1rosehip/jplist https://github.com/free-jqgrid/jqGrid https://plugins.jquery.com/ ...

  3. [转]Paging, Searching and Sorting in ASP.Net MVC 5

    本文转自:http://www.c-sharpcorner.com/UploadFile/4b0136/perform-paging-searching-sorting-in-Asp-Net-mvc- ...

  4. 能省则省:在ASP.NET Web API中通过HTTP Headers返回数据

    对于一些返回数据非常简单的 Web API,比如我们今天遇到的“返回指定用户的未读站内短消息数”,返回数据就是一个数字,如果通过 http response body 返回数据,显得有些奢侈.何不直接 ...

  5. [转]Efficiently Paging Through Large Amounts of Data

    本文转自:http://msdn.microsoft.com/en-us/library/bb445504.aspx Scott Mitchell April 2007 Summary: This i ...

  6. ASP.NET MVC 5 實作 GridView 分頁

    本文用 ASP.NET MVC 5 實作一個 GridView,功能包括: 分頁(paging).關鍵字過濾(filtering).排序(sorting).AJAX 非同步執行,外觀上亦支援 Resp ...

  7. java、asp.net 通用分页码函数

    <script type="text/javascript"> $(document).ready(function(){ ajaxGetPaging(1); }); ...

  8. asp.net sql无限极分类实例程序

    数据库结构  代码如下 复制代码 create table category(    id                  int,                    clsno         ...

  9. ASP.NET MVC 表格操作

    Beginners Guide for Creating GridView in ASP.NET MVC 5 http://www.codeproject.com/Articles/1114208/B ...

随机推荐

  1. Android-Java-静态变量与静态方法&普通变量与普通方法(内存图 完整版)

    描述Student对象: package android.java.oop12; // 描述Student对象实体 public class Student { private String name ...

  2. Spring AOP的实现及源码解析

    在介绍AOP之前,想必很多人都听说AOP是基于动态代理和反射来实现的,那么在看AOP之前,你需要弄懂什么是动态代理和反射及它们又是如何实现的. 想了解JDK的动态代理及反射的实现和源码分析,请参见下面 ...

  3. 第二十五节:Java语言基础-面向对象基础

    面向对象 面向过程的代表主要是C语言,面向对象是相对面向过程而言,Java是面向对象的编程语言,面向过程是通过函数体现,面向过程主要是功能行为. 而对于面向对象而言,将功能封装到对象,所以面向对象是基 ...

  4. 从零搭建java后台管理系统(二)mysql和redis安装

    接上篇开始安装mysql和redis 注意了,如果用阿里云服务器,外网访问的端口必须在安全组开启,否则外网访问不通 三.服务器安装redis和mysql 本次环境搭建将所有第三方服务会安装在阿里云服务 ...

  5. ARM中几个典型的汇编指令解析

    启动嵌入式设备时,遇到了一些汇编,做个笔记,免得以后忘记了. 一句汇编语句如下所指示: __asm ( ".syntax unified\n" ".thumb\n&quo ...

  6. linux中Java项目占用cpu、内存过高时的排查经历

    一.使用top命令查看占用高资源的java项目的进程ID(pid): top 二.查看该进程中的线程所占用资源的情况:top -Hp pid 三.查看该线程对应的16进制:printf %x 1112 ...

  7. 初识The ONE

    Author:bakari  Date:2014.1.14 转载请注出处:http://www.cnblogs.com/bakari/p/3519841.html,谢谢! 本学期开始做真正意义上的研究 ...

  8. Win10手记-为应用集成日志工具Logger

    日志工具由来已久,是很受大家欢迎的debug工具.其中.NET平台上很出名的是log4net,但是由于Windows 10通用应用项目没有了System.Configuration引用,所以也就不能很 ...

  9. 如何把开源项目发布到Jcenter

    转载自:https://www.jianshu.com/p/f66972f0607a 首先我们应该注册一个JFrog Bintray的账号 Jfrog Bintray官网 这里我们可以注意到那个绿色的 ...

  10. js实现深拷贝的一些方法

    在ECMAScript变量中包含两种不同类型的值:基本类型值和引用类型值. 基本类型值:Undefined.Null.Boolean.Number.String 引用类型值:Object.Array. ...