首先,我们在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. HDU5638 / BestCoder Round #74 (div.1) 1003 Toposort 线段树+拓扑排序

    Toposort   问题描述 给出nn个点mm条边的有向无环图. 要求删掉恰好kk条边使得字典序最小的拓扑序列尽可能小. 输入描述 输入包含多组数据. 第一行有一个整数TT, 表示测试数据组数. 对 ...

  2. pyspark kafka createDirectStream和createStream 区别

    from pyspark.streaming.kafka import KafkaUtils kafkaStream = KafkaUtils.createStream(streamingContex ...

  3. [codeforces 852 D] Exploration Plan 解题报告 (二分+最大匹配)

    题目链接:http://codeforces.com/problemset/problem/852/D 题目大意: 有V个点,N个队伍,E条边,经过每条边有个时间,告诉你初始N个队伍的位置,求至少有K ...

  4. (二)Ribbon(负载均衡的客户端)+Rest

    前面讲了服务的注册与发现,微服务项目会把项目的各个业务需求划分成几个模块来单独提供服务,各服务间的调用都是采用Http Restful来实现,但是在SpringClound中服务间的调用有两种方式:一 ...

  5. weboffice7

    document.all.WebOffice1.ShowToolBar = false;

  6. SpringMVC(三) RESTful架构和文件上传下载

    RESTful架构 REST全名为:Representational State Transfer.资源表现层状态转化.是目前最流行的一种互联网软件架构. 它结构清晰.符合标准.易于理解.扩展方便,所 ...

  7. (转载)ListView与ScrollView冲突的4种解决方案

    问题解决方案1.手动设置ListView高度    经过测试发现,在xml中直接指定ListView的高度,是可以解决这个问题的,但是ListView中的数据是可变的,实际高度还需要实际测量.于是手动 ...

  8. 【原创】JMS发布者订阅者【异步接收消息】

    发布订阅模式和PTP方式不同之处为后者依赖于一个Topic话题: package com.thunisoft.jms.mine.topic; import java.util.HashMap; imp ...

  9. ZOJ 3321 Circle【并查集】

    解题思路:给定n个点,m条边,判断是否构成一个环 注意到构成一个环,所有点的度数为2,即一个点只有两条边与之相连,再有就是判断合并之后这n个点是否在同一个连通块 Circle Time Limit: ...

  10. swift内存管理

    为了解决引用循环的问题. However, with ARC, values are deallocated as soon as their last strong reference is rem ...