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. shell 文件操作

      序   在linux平台下开发,我们经常会接触到一些任务性质的工作,而处理方式多样化.现积累各个案例.   从远程服务器拉取文件到本地服务器   scp work@cp01-xx-dev.com: ...

  2. 2.第一个ASP.NET MVC 5.0应用程序

    大家好,上一篇对ASP.NET MVC 有了一个基本的认识之后,这一篇,我们来看下怎么从头到尾创建一个ASP.NET MVC 应用程序吧.[PS:返回上一篇文章:1.开始学习ASP.NET MVC] ...

  3. 收藏的blog

    https://www.cnblogs.com/xifengxiaoma/tag/vue/ https://www.cnblogs.com/xifengxiaoma/p/9400200.html

  4. Android Service用法知识点的讲解

    Android Service 学习Service相关知识点: android service 的基础知识,生命周期,service分类,运行地点(本地服务,远程服务),运行类型(前台服务,后台服务) ...

  5. koa-static与react-create-app搭配的路径

    概述 前端路由与后端路由的结合一直是一个难题.koa-static这个中间件能够把静态资源"搬到"后端路由上面去,react-create-app在不解构的情况下只会把资源打包到b ...

  6. vsftpd3.0.3配置

    2019.2.18更新 证实可用!!! 原文: 这两天测试在Ubuntu18.04上搭建一个ftp服务器,搜了一下大家都在用vsftpd,于是根据这个大佬的基础教程搭了一个,搭完一切正常,在windo ...

  7. IMSI

    国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志,储存在SIM卡中,可用于区别移动用户的有 ...

  8. spring framework核心框架体系结构(转载)

    作者:Dreawer 很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spr ...

  9. zabbix 自定义监控项简单案例

    例如:获取被监控主机的登录用户数 以uptime为例: 输入命令:uptime | awk '{print $6}'  可以获得当前登录用户数(不通终端打印出的位置不同) 1.被监控主机修改zabbi ...

  10. JVM笔记10-性能优化之高级特性

    一.垃圾回收器配置和 GC 日志分析 1.堆典型配置: 32位的操作系统限制堆大小介于1.5G到2G,64位操作系统无限制,同时系统可用虚拟内存和可用物理内存都会限制最大堆的配置. 堆空间分配典型配置 ...