首先,我们在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. Cocos2d-x 常见宏

    1)NS_CC_BEGIN cocos2d命名空间開始 2) NS_CC_END  cocos2d命名空间结束 3)USING_NS_CC 声明cocos2d命名空间 4)CC_SYNTHESIZE_ ...

  2. virtio netdev的创建

    Linux眼下支持至少了8种虚拟化系统: Xen KVM VMware's VMI IBM's System p IBM's System z User Mode Linux lguest IBM's ...

  3. HOOK劫持自己

    #include <stdio.h> #include <stdlib.h> #include <Windows.h> #include "detours ...

  4. js调节图片的亮度

    js调节图片的亮度:(使用CSS3的滤镜) 1.实现点亮图标.熄灭图标的效果 效果图: 页面代码: <!DOCTYPE html> <%@ page language="j ...

  5. Jquery 设置class 和 div CSS

    Jquery 设置class 和 div CSS 1 Jquery 根据标签内容获取标签div,从而修改该div CLASS //追加 $('label:contains("labelcon ...

  6. MySQL用户添加和分配权限

    mysql数据库insertdelete服务器file mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口 ...

  7. 找出 alter system kill session ‘sid,serial#’ kill 掉的数据库会话对应进程

    当我们使用alter system kill session ‘sid,serial#’ 在数据库中kill掉某个会话的时候,如果你观察仔细会发现v$session.paddr发生了改变,从而是的不能 ...

  8. SpringCloud学习笔记(18)----Spring Cloud Netflix之服务网关Zuul原理

    1. Zuul的工作机制 Zuul提供了一个框架,可以对过滤器进行动态的加载,编译,运行.过滤器之间没有直接的相互通信,他们是通过一个RequestContext的静态类来进行数据传递的.Requet ...

  9. sass的用法小结(一)

    1. 使用变量; sass让人们受益的一个重要特性就是它为css引入了变量.你可以把反复使用的css属性值 定义成变量,然后通过变量名来引用它们,而无需重复书写这一属性值.或者,对于仅使用过一 次的属 ...

  10. tab栏切换

    最简单的tab栏切换 html部分 <ul class="tab"> <li class="item">待支付(1)</li> ...