首先,我们在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. zzulioj--1600--直线与圆(简单数学几何)

     1600: 直线与圆 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 360  Solved: 73 SubmitStatusWeb Board ...

  2. vue 组件之间的传值

    父向子传值父组件 <v-footer :projectdat="dat"></v-footer> export default { data() { ret ...

  3. [雅礼NOIP2018集训] day6

    打满暴力好像是一种挑战,已经连续几天考试最后一个小时自闭了,因为自以为打完了暴力,然而,结果往往差强人意 大概是考试的策略有些问题 T1: 我们设$g[x]$为在x时取小于等于m个物品的最大价值,下面 ...

  4. ksh简介

    -- Start 什么是 Shell 如果把 Linux 比作一个蛋,那么 Shell 就是蛋壳,我们需要通过 Shell 来使用系统. Shell 的种类 最早的 Shell 是 Bourne Sh ...

  5. servlet中怎么注入service

    在工作中使用到spring的mvc框架,分为controller/service/dao三个层次.偶尔会用到servlet替换掉controller,这就遇到如何在servlet中使用注入到sprin ...

  6. (转载)Android之三种网络请求解析数据(最佳案例)

    [置顶] Android之三种网络请求解析数据(最佳案例) 2016-07-25 18:02 4725人阅读 评论(0) 收藏 举报  分类: Gson.Gson解析(1)  版权声明:本文为博主原创 ...

  7. 51nod 1021 石子归并 (动态规划 简单代码)

    题目: 思路:动态规划,递推式子 dp[i][j] = min(dp[i][j], dp[i][k] + dp[k+1][j] + sum[j] - sum[i-1]);     dp[i][j]表示 ...

  8. Android学习——LinearLayout布局实现居中、左对齐、右对齐

    android:orientation="vertical"表示该布局下的元素垂直排列: 在整体垂直排列的基础上想要实现内部水平排列,则在整体LinearLayout布局下再创建一 ...

  9. hadoop 编译自己的jar包并运行

    我修从网上找了份java代码 我为了让它在hadoop下跑起来居然花了两个多小时... 首先最好不要在java代码中设置package...使用default package即可... 然后在java ...

  10. RocketMQ学习笔记(7)----RocketMQ的整体架构

    1. RocketMQ主要的9个模块,如图: 2. 模块介绍 1. rocketmq-common:通用的常量枚举,基类方法或者数据结构,按描述的目标来分包,通俗易懂.报名有admin,consume ...