首先,我们在DataGrid的URL中加上我们要查询的条件:查询用户名不是“呵呵”的所有用户。

  1. <div>
  2. <table id="dg" class="easyui-datagrid" style="width: 600px; height: 350px" >
  3. <thead>
  4. <tr>
  5. <th data-options="field:'UserID',width:148,sortable:true">ID</th>
  6. <th data-options="field:'UserName',width:148,sortable:true">姓名</th>
  7. <th data-options="field:'Sex',width:148,sortable:true">性别</th>
  8. </tr>
  9. </thead>
  10. </table>
  11. </div>
  12. <!--datagrid基本设置-->
  13. <script type="text/javascript">
  14. $(function () {
  15. $('#dg').datagrid({
  16. title: '测试表格',
  17. url: "/EvaluationSituation/jsonTest?strUserName=呵呵", //添加查询条件
  18. pagination: true,//显示分页工具栏
  19. fitColumns: true, //自动大小
  20. });
  21. });
  22. </script>

然后我们在后台接收参数,并执行查询

  1. public JsonResult  jsonTest()
  2. {
  3. #region 制造假数据
  4. List<User> listUser = new List<User>();
  5. listUser.Add(new User {
  6. UserID ="001",
  7. UserName="呵呵",
  8. Sex ="男"
  9. });
  10. listUser.Add(new User
  11. {
  12. UserID = "002",
  13. UserName = "哈哈",
  14. Sex = "女"
  15. });
  16. listUser.Add(new User
  17. {
  18. UserID = "003",
  19. UserName = "嘿嘿",
  20. Sex = "男"
  21. });
  22. listUser.Add(new User
  23. {
  24. UserID = "004",
  25. UserName = "嘻嘻",
  26. Sex = "男"
  27. });
  28. listUser.Add(new User
  29. {
  30. UserID = "002",
  31. UserName = "哈哈",
  32. Sex = "女"
  33. });
  34. listUser.Add(new User
  35. {
  36. UserID = "003",
  37. UserName = "嘿嘿",
  38. Sex = "男"
  39. });
  40. listUser.Add(new User
  41. {
  42. UserID = "004",
  43. UserName = "嘻嘻",
  44. Sex = "男"
  45. });
  46. listUser.Add(new User
  47. {
  48. UserID = "002",
  49. UserName = "哈哈",
  50. Sex = "女"
  51. });
  52. listUser.Add(new User
  53. {
  54. UserID = "003",
  55. UserName = "嘿嘿",
  56. Sex = "男"
  57. });
  58. listUser.Add(new User
  59. {
  60. UserID = "004",
  61. UserName = "嘻嘻",
  62. Sex = "男"
  63. });
  64. listUser.Add(new User
  65. {
  66. UserID = "002",
  67. UserName = "哈哈",
  68. Sex = "女"
  69. });
  70. listUser.Add(new User
  71. {
  72. UserID = "003",
  73. UserName = "嘿嘿",
  74. Sex = "男"
  75. });
  76. listUser.Add(new User
  77. {
  78. UserID = "004",
  79. UserName = "嘻嘻",
  80. Sex = "男"
  81. });
  82. #endregion
  83. string strUserName = Request["strUserName"];//查询条件
  84. var pageIndex = int.Parse(Request["page"]);//当前页
  85. var pageSize = int.Parse(Request["rows"]);//页面行数
  86. var total = 0;
  87. //首先得到符合该查询条件的总记录条数
  88. total = listUser.Where(p => p.UserName != strUserName).Count();
  89. //根据页号、页面大小和查询条件查询当前页应该显示的内容
  90. var listQuery = listUser.Where(p => p.UserName != strUserName)  //查询条件为:UserName不等于strUserName
  91. .OrderBy(p => p.UserID)    //根据UserID进行升序排序
  92. .Skip(pageSize * (pageIndex - 1))  //跳过记录中的前(pageSize * (pageIndex - 1))行,假如当前页为第二页-pageIndex=2,每页显示10条数据-pageSize=10,那么就跳过记录中的前10条数据,达到分页查询的效果
  93. .Take(pageSize);   //取出pageSize条记录
  94. var data = new
  95. {
  96. total,
  97. rows = listQuery
  98. };
  99. //将数据转换成Json格式
  100. JsonResult jsonUser = new JsonResult();
  101. jsonUser = Json(data);
  102. return jsonUser;
  103. }

然后我们就可以看见结果:

分页查询是一个很普通的东西,基本上只要有表格就需要分页查询,所以这些东西我们还是需要掌握。其中的拉姆达表达式,我们也可以在VS中通过F12转到定义,多看看其中方法的定义。

EasyUI 之 DataGrid利用用拉姆达表达式实现分页查询的更多相关文章

  1. C#拉姆达(=>)表达式

    前言: 之前小猪曾经分享过自己对C#委托的一点理解 其实在使用委托的过程中我们会大量的使用拉姆达(=>)表达式 介绍: "Lambda表达式"是一个匿名函数,是一种高效的类似 ...

  2. 如何用拉姆达表达式(Lambda Expressions) 书写左链接查询

    在C#中,如果要实现两个列表的左链接查询,我们的一般用法就是用的linq表达式就是 List<Pet> pets = }, }, } }; List<Pet2> pets2 = ...

  3. SqlSugar常用查询实例-拉姆达表达式

    SqlSugar支持拉姆达表达式查询,匿名对象参数等,相对还是比较方便好用的. 一.查询列表: //查询列表 SqlSugarClient db = SugarContext.GetInstance( ...

  4. 拉姆达表达式(Lambda Expressions)

    上面两种写法是一样的 ,拉姆达表达式也是一种委托, 但引用的是匿名方法

  5. C# 匿名方法和拉姆达表达式

    有时候,我们需要封装一组数据,只有数据,没有方法,并且只用于当前程序,不需要在项目间重用,这时候,如果是传统的使用类来封装的话,大概会是下面这种样子: internal class SomeData ...

  6. .net 在同步方法中使用拉姆达表达式执行async/await异步操作

    代码如下: static void Main(string[] args) { ((Action)(async () =>{ var data = await HttpHelper.GetOnS ...

  7. (转)拉姆达表达式(Lambda Expressions) =>写法的涵义

      lambdaclass编译器 让我们先看一个简单的拉姆达表达式: x=>x/2 这个表达式的意思是:x为参数,对x进行相应的操作后的结果作为返回值. 通过这个拉姆达表达式,我们可以看到: 这 ...

  8. c# 拉姆达表达式实现List去重

    c# 拉姆达表达式实现List去重 var list = studentlist.OrderByDescending(a => a.CreateDate).ToList(); Console.W ...

  9. Lambda拉姆达表达式

    拉姆达表达式常用于委托,也就是说拉姆达表达式是匿名函数,简单点就是函数. a => a.Equals("string"); //原形为: (a) => { return ...

随机推荐

  1. node11---相册

    app.js /* littleAlbum --.idea --controller(控制层相当于action层) --package.json --router.js --models(做事的是mo ...

  2. 整数翻转C++实现 java实现 leetcode系列(七)

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: ...

  3. Creating a Custom Page Layout in SharePoint 2013

    Creating a Custom Page Layout in SharePoint 2013 In my last article, I documented how to create a Ma ...

  4. POJ 3723 Conscription (Kruskal并查集求最小生成树)

    Conscription Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14661   Accepted: 5102 Des ...

  5. 使用rman恢复数据小结

    恢复前提有数据备份 以 alter database open resetlogs 开机以后多要做一次全备(以前的备份失效了) 恢复参数文件: restore spfile from '/home/o ...

  6. [NOI2018]你的名字(68pts) 后缀自动机

    讲解在满分做法的博客中 Code: #include <cstdio> #include <algorithm> #include <cstring> #defin ...

  7. 学习jvm,关于MAT an internal error occurred during:"Parsing heap dump" from问题

    写了一个死循环不断的创建对象,模拟内存溢出 package com.zuo.test1; import java.util.ArrayList; import java.util.List; publ ...

  8. vue总线bus传值的一些问题

    动态组件中用总线Bus的坑 在我们的项目总难免会遇到用动态组件,这里就拿vue官方的例子为例,我们欲在组件中添加总线bus(其实官方推荐的vuex更好用,但是有时候我们只需要传一个小状态,不需要用vu ...

  9. 浅谈python 中正则的一些函数

         主要的函数有  : match() search() findall() group() groups() split()  match (): 含义  开头匹配,匹配成功返回一个对象失败则 ...

  10. c traps and pitfalls reading notes(2)

    1.运算符优先级,这个我是肯定记不住,每次遇到的时候都纠结下,然后去查下,或者直接括号,但是括号太多,你懂得,要用notepad才能理清各种层次.这里啦个下来,留着参考.