首先,我们在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. Web前端国际化之jQuery.i18n.properties

    Web前端国际化之jQuery.i18n.properties jQuery.i18n.properties介绍 国际化是如今Web应用程序开发过程中的重要一环,jQuery.i18n.propert ...

  2. swift学习第四章

    // Playground - noun: a place where people can play import UIKit var age=100 //假设年龄不大于50的就会在这里断言,和之前 ...

  3. kentico中的urls

    alias是默认的访问页面 page aliases中可以手动指定访问一个url,然后跳转到当前的页面

  4. 仿写从iOS8开始支持的UIAlertController:BGAAlertController-Android

    工作以来公司UI设计师出的Android效果图都是iOS风格的UIAlertView和UIActionSheet,新项目还是用原来那一套,不想重复造轮子,所以仿写了从iOS8开始支持的UIAlertC ...

  5. NOIP卡常数技巧

    NOIP卡常数技巧 https://blog.csdn.net/a1351937368/article/details/78162078 http://www.mamicode.com/info-de ...

  6. SpringBoot(一) 基础入门

    SpringBoot简要 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 自动配置:针对很多Spring应用程序常见的应用功能,Spring ...

  7. Visual Studio中C++工程的环境配置方法

    在Visual Studio的C++工程设置 1.添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录. 2.添加文件引用的lib静态库路径:工程---属性- ...

  8. vue非空校验

    效果图 实现代码 //页面html <div> <ul class="listinfo"> <li> <span class=" ...

  9. C语言基础 (2) linux命令

    01.课程回顾 链接 ln 1.txt aaa.txt  硬链接 (两个相互独立 删除一个另外一个还在) ln -s 1.txt aaa.txt软连接 (后面的是快捷方式) 硬链接只能是文件,软连接可 ...

  10. How Javascript works (Javascript工作原理) (九) 网页消息推送通知机制

    个人总结: 1.介绍了网页消息推送通知机制 全文地址:https://github.com/Troland/how-javascript-works 这是 JavaScript 工作原理的第九章. 现 ...