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. iOS架构模式浅析

    这是以前旧博客在13年规划写的一个系列,写了一部分内容,还没有完成.现在重新整理编写.计划从基础知识六大设计原则.设计模式中类的关系开始,然后会对iOS开发中的常用架构模式进行介绍,最后对GoF的23 ...

  2. [转]data-driven与决策树聚类的两种方法

    参考文章: http://blog.csdn.net/quheDiegooo/article/details/60873999 http://blog.csdn.net/quhediegooo/art ...

  3. 实现一个简单的C++协程库

    之前看协程相关的东西时,曾一念而过想着怎么自己来实现一个给 C++ 用,但在保存现场恢复现场之类的细节上被自己的想法吓住,也没有深入去研究,后面一丢开就忘了.近来微博上看人在讨论怎么实现一个 user ...

  4. Shell - 简明Shell入门

    本文以示例和注释的方式,对Shell编程的基本知识点进行了总结和回顾,所有脚本均已做了基本的调试和验证. Shell - 简明Shell入门 01 - 第一个脚本 脚本的定义.执行方法以及echo命令 ...

  5. Linux - 结合正则表达式使用grep命令

    Grep with Regular Expression grep命令基本用法 grep [-acinv] [--color=auto] [-A n] [-B n] '搜寻字符串' 文件名参数说明: ...

  6. C# Winform同时启动多个窗体类

    首先创建一个类,存放将要同时显示的窗体 using System; using System.Collections.Generic; using System.Linq; using System. ...

  7. 我是如何利用Github Pages搭建起我的博客,细数一路的坑

    1.前言 其实早在这之前我就一直想过写博客,但由于种种原因一直没有去学习这方面的知识,最近半个月(从开始动手到搭建好)一直陆陆续续的在着手这方面的工作.从开始到搭建完成的过程中遇到了很多困难,因为在这 ...

  8. Hadoop-调优剖析

    1.概述 其实,在从事过调优相关的工作后,会发现其实调优是一项较为复杂的工作.而对于Hadoop这样复杂且庞大的系统来说,调优更是一项巨大的工作,由于Hadoop包含Common.HDFS.MapRe ...

  9. Facelets应用程序的生命周期

    当客户端(如浏览器)向使用Facelets创建的页面发出新的请求时,会创建一个新的组件树或 javax.faces.component.UIViewRoot将其创建并放入FacesContext. 该 ...

  10. JavaScript之radio遍历

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...