第一步创建分页DataGrid

	<table id="dg">
<thead>
<tr>
<th data-options="field:'username',width:100">username</th>
<th data-options="field:'password',width:100,editor:'textbox'">password</th>
</tr>
</thead>
</table>
<script type="text/javascript">
$(document).ready(function() {
$("#dg").datagrid({
title : "用户管理",
singleSelect : true,
url : '${pageContext.request.contextPath}/manager_userData',
toolbar : "#tb",
width : "100%",
height : "100%",
pagination : true,  //开启分页
onClickCell : onClickCell,
});
$("#dg").datagrid("getPager").pagination({
pageSize : 3,    //设置页面大小
pageList : [3, 10, 15, 20],   //用户自定义页面大小数组 
beforePageText : '第',
afterPageText : '共{pages}页',
displayMsg : '当前显示 {from} 到 {to} ,共{total}记录',
});
});
</script>

 DataGrid自带属性

  1、pages:共有多少页

  2、from:当前页面第一条记录

    to:当前页面最后一条记录

  3、total:总共多少条记录

  4、rows:记录

  DataGrid控件会根据后台传过来的JSON数据,自行设置这些属性

{"total":6,"pages":1,"rows":[{"addr":"","code":"","email":"","name":"","password":"aaa","phone":"","sex":"","state":0,"uid":2,"username":"aaa"},{"addr":"","code":"","email":"","name":"","password":"22","phone":"","sex":"","state":0,"uid":3,"username":"22"}]}

第二步后台操作

  1、Hibernate获取分页数据(dao)

	public List<User> findPagerUser() {
Criteria criteria = this.getSession().createCriteria(User.class);
criteria.setFirstResult(1);
criteria.setMaxResults(2);
List<User> list = criteria.list();
if (list != null && list.size() > 0) {
return list;
}
return null;
}

  2、分页数据封装

import java.util.List;
/**
* 定义一个分页对象
*/
public class Pager { private int page;// 当前页码
private int pageTotal;// 总页码
private int rows;// 每页显示条数
private int rowsTotal;// 总条数
private List<?> list;// 返回的数据集合 public int getPage() {
return page;
} public void setPage(int page) {
this.page = page;
} public int getPageTotal() {
return pageTotal;
} public void setPageTotal(int pageTotal) {
this.pageTotal = pageTotal;
} public int getRows() {
return rows;
} public void setRows(int rows) {
this.rows = rows;
} public int getRowsTotal() {
return rowsTotal;
} public void setRowsTotal(int rowsTotal) {
this.rowsTotal = rowsTotal;
} public List<?> getList() {
return list;
} public void setList(List<?> list) {
this.list = list;
} @Override
public String toString() {
return "Pager [list=" + list + ", page=" + page + ", pageTotal="
+ pageTotal + ", rows=" + rows + ", rowsTotal=" + rowsTotal
+ "]";
}
}

  3、构造JSON数据传给客户端(action)

	public String getData() throws IOException {
HttpServletResponse response = ServletActionContext.getResponse();
Pager pager = userService.findPagerUser(page, rows);
if (pager.getList().size() > 0) {
JsonConfig config = new JsonConfig();
config.setExcludes(new String[] { "comments" });
JSONArray json = JSONArray.fromObject(pager.getList(), config); JSONObject jsonObject = new JSONObject();
jsonObject.put("total", pager.getRowsTotal());
jsonObject.put("pages", pager.getPageTotal());
jsonObject.put("rows", json);
response.getWriter().append(jsonObject.toString());
}
return null;
}

 JSON参考:JSON入门

EasyUI之DataGrid分页的更多相关文章

  1. EasyUI的datagrid分页

    EasyUI的datagrid分页 前台代码: <script type="text/javascript"> $(function () { //查询 search( ...

  2. easyui的datagrid分页写法小结

    easyui的datagrid分页死活不起作用...沙雕了...不说了上代码 //关闭tab1打开tab2 查询Detail function refundDetail(){ $('#tt').tab ...

  3. EasyUI 中datagrid 分页。

    注释:datagrid分页搞了好几天才完全搞好,网上没完全的资料.明天晚上贴代码. 睡觉.

  4. EasyUI 自定义DataGrid分页

    DataGrid内建分页能力是强大的,它比自定义相对容易.在这个教程,我们将要创建DataGrid并且在页面工具栏中添加一些自定义按钮.标记<table id="tt"> ...

  5. EasyUI的DataGrid 分页栏英文改中文解决方案

    (一)分页栏英文改中文解决方案 这个问题其实很简单,就是引入文件jquery-easyui-1.3/locale/easyui-lang-zh_CN.js . 注意这个文件要放在本页js的后面,放在最 ...

  6. Easyui的datagrid结合hibernate实现数据分页

    最近在学习easyui的使用,在学到datagrid的时候遇到了一些问题,终于抽点时间整理了一下,分享出来,请各位前辈高手多多指教! 1.先来看看效果,二话不说,上图直观! 2.easyui的data ...

  7. SSh结合Easyui实现Datagrid的分页显示

    近日学习Easyui,发现非常好用,界面很美观.将学习的心得在此写下,这篇博客写SSh结合Easyui实现Datagrid的分页显示,其他的例如添加.修改.删除.批量删除等功能将在后面的博客一一写来. ...

  8. jquery easyui datagrid 分页详解

    由于项目原因,用了jquery easyui 感觉界面不错,皮肤样式少点,可是官网最近打不开了,资料比较少,给的demo没有想要的效果,今天在用datagrid 做分页显示的时候,折腾了半天,网上的资 ...

  9. EasyUI DataGrid分页数据绑定

    记录东西感觉很痛苦,总结东西很痛苦,麻烦,不过为了下次的方便和知识的牢固以后要坚持总结. EasyUI DataGrid分页数据绑定 在解决方案中新建两个文件FormMain.aspx(html也可以 ...

随机推荐

  1. LeetCode--078--子集(python)

    给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3]输出:[ [3],  [1],  [2],  ...

  2. 解决使用脚手架构建项目缺失node_modules文件夹文件问题

    昨晚,在教我前端交流群里面的朋友搭建vue开发环境和构建vue项目的时候发现我自己之前能正常构建vue项目的现在却不行了,排查之下发现 通过脚手架构建项目的时候项目缺失了node_modules文件夹 ...

  3. 链接收藏:bullet物理引擎不完全指南

    这个也是博客园的文章,编辑得也很好,就不copy了,结尾还有PDF: https://www.cnblogs.com/skyofbitbit/p/4128347.html 完结

  4. Quick BI的宝藏工具——交叉表

    对于普通的表格展示数据,相信大家都非常熟悉了,今天给大家介绍的是BI领域的分析利器-交叉表,这个在BI分析场景中使用占比最多的分析利器.通过交叉表对数据的承载和管理,用户可以一目了然地分析出各种场景指 ...

  5. Qt Creator 启动失败 可能的解决办法

    用了一段时间Qt Creator莫名的打开失败   重装一遍,仍然不行: 网上搜到解决办法:删除 ~\AppData\Roaming\QtProject文件夹. linux下:~是/home/Your ...

  6. EQS 自定义Context 如何用Testing Pawn 进行测试?

    比如自定义了一个玩家的Context, 那么需要把这个玩家直接放置到场景中 在Context中override Provide Single Actor函数,按类型获取所有的Actor,其中第一个作为 ...

  7. 解决:@Auarowired为null

    使用@Auarowired时程序报空指针.如图: 将private 更改为 public 即可

  8. Mac sublime安装package controller

    https://packagecontrol.io/installation#st2  链接被墙了这个. 我拿来放在这里. The simplest method of installation is ...

  9. tar命令: 解压到指定的目录, 解压并删除原tar文件

    -f: 置顶文件名, 后面不能再跟其他选项字母了,必须是文件名, 但是再在这个后面又可以跟 -? 选项: -C: 指定解压到的目的目录 不是-c, 小写的-c是创建. -p保留原来文件的属性. tar ...

  10. CAS KVM 虚拟机的保护与恢复

    目录 目录 方式一 方式二 方式一 思路:以 QCOW2 格式来备份和恢复被保护的 KVM 虚拟机 Step1:centos7_0(base qcow2) 以 qcow2 格式写入到 iSCSI 设备 ...