easyui实现分页
主要参考官方的文档,欢迎评论
1、集成easyui,下面是我的引入方式,我引入到了head.html 每次只要引入该页面就可以了。
<!-- easyui样式支持 -->
<link rel="stylesheet" type="text/css" href="${basePath}/plugins/jquery-easyui-1.7.0/themes/default/easyui.css">
<!-- easyui图标支持 -->
<link rel="stylesheet" type="text/css" href="${basePath}/plugins/jquery-easyui-1.7.0/themes/icon.css">
<!-- 引入jquery -->
<script type="text/javascript" src="${basePath}/plugins/jquery-easyui-1.7.0/jquery.min.js"></script>
<!-- easyui功能支持 -->
<script type="text/javascript" src="${basePath}/plugins/jquery-easyui-1.7.0/jquery.easyui.min.js"></script>
<!-- easyui中文支持 -->
<script type="text/javascript" src="${basePath}/plugins/jquery-easyui-1.7.0/locale/easyui-lang-zh_CN.js"></script>

2、html页面
引入head.html
<head>
<title>厂区信息</title>
<#include "../include/head.html">
</head>
<body>
<table id="dg" title="厂区信息"></table>
<script>
$(function () {
init_datagrid();
});
function init_datagrid() {
//默认第一页,
var pageNumber = 1;
//每页显示10行
var pageSize = 10;
//表头字段
var arr_columns = dg_columns();
//datagrid名称
var title_name= "园区信息";
$("#dg").datagrid({
title: title_name,
url: '${basePath}/factory/datagrid',
method: 'post',
singleSelect: true,
remoteSort: true, //定义从服务器对数据进行排序。
pagination: true, //在DataGrid控件底部显示分页工具栏。
pageNumber: pageNumber,
pageSize: pageSize,
pageList: [5,10,15,20],
fitColumns:true,
columns: [arr_columns],
rownumbers: true,
loadMsg: '正在加载数据',
checkbox: true,
emptyMsg: '列表为空',
selectOnCheck: false,
checkOnSelect: false
});
}
function dg_columns() {
var arr = new Array();
arr.push({field: 'factoryCode', title: '厂区编码', width: $(this).width() * 0.5, align: 'center'});
arr.push({field: 'factoryName', title: '厂区名称', width: $(this).width() * 0.5, align: 'center'});
arr.push({field: 'factoryAddress', title: '厂区地址', width: $(this).width() * 0.5, align: 'center'});
arr.push({field: 'company', title: '所属公司', width: $(this).width() * 0.5, align: 'center'});
return arr;
}
</script>
</body>
写本页面时建议将init_datagrid()封装成一个通用方法,写入相应的参数,以实现方法的复用,减少代码的重复
3.java后台
注意前台需要接收的数据格式为:
{"total":8,"rows":[{"factoryCode":"E-01","factoryName":"111111","id":"1"},{"factoryCode":"E-02","factoryName":"222222","id":"2"}]}数据涉密顾不能贴出
所以我们的目的就是将查询出来的数据写成上述json格式
/**
* 加载easyuidatagrid 数据
* @param request
* @return
*/
@ResponseBody
@RequestMapping("/datagrid")
public JSONObject datagrid(HttpServletRequest request){
int pageNumber = Integer.parseInt(request.getParameter("page")); //获取当前页码,easyui默认传到后台
int pageSize = Integer.parseInt(request.getParameter("rows")); //获取每页显示多少行,easyui默认传到后台
int count = mdmFactoryInfoService.count();
List<MdmFactoryInfo> factoryList = mdmFactoryInfoService.selectPage(pageNumber*pageSize,(pageNumber-1)*pageSize);
System.out.println(CommonUtil.toGridJson(count,factoryList));
return CommonUtil.toGridJson(count,factoryList);
}
CommonUtil代码
/**
* 转为datagrid json
*/
public static JSONObject toGridJson(int totalCount, Object obj) {
if(null==obj){
JSONObject jsonResult = new JSONObject();
jsonResult.put("total",totalCount);
jsonResult.put("rows",new JSONArray());
return jsonResult;
}
if(!Collection.class.isAssignableFrom(obj.getClass())) {
JSONObject jsonResult = new JSONObject();
jsonResult.put("total", totalCount);
jsonResult.put("rows", new JSONArray());
return jsonResult;
}
String json = JSON.toJSONString(obj);
JSONObject jsonResult = new JSONObject();
jsonResult.put("total", totalCount);
jsonResult.put("rows", obj);
return jsonResult;
}
数据层我用的mybatis,这里主要注意的是要分页查询的sql,我用的是oracle。
分页查询sql
<select id="selectPage" parameterType="java.lang.Integer" resultMap="BaseResultMap">
SELECT * FROM ( SELECT ROWNUM rn , M.* FROM MDM_FACTORY M WHERE Rownum <= #{firstIndex,jdbcType=INTEGER}) WHERE rn > #{pageSize,jdbcType=INTEGER}
</select>
数据总量sql
<select id="count" parameterType="java.lang.String" resultType="java.lang.Integer">
select count(*) from MDM_FACTORY
</select>
以上结束后展示一下页面

以上有错误欢迎指正
easyui实现分页的更多相关文章
- EasyUI DataGrid分页数据绑定
记录东西感觉很痛苦,总结东西很痛苦,麻烦,不过为了下次的方便和知识的牢固以后要坚持总结. EasyUI DataGrid分页数据绑定 在解决方案中新建两个文件FormMain.aspx(html也可以 ...
- EasyUI datagrid 分页Json字符串格式
//EasyUI datagrid 分页Json字符串格式 //{"total":xx,"rows":[{...},{...}]} total:总数 rows: ...
- easyUI的分页,只显示第X 共Y页。改为显示 第X 页 共Y页
如下图,easyUI的分页,只显示第X 共Y页. 需求需要显示 第X 页 共Y页. 解决办法:在easyui-lang-zh_CN.js更改以下代码,即可.也就是在 “共{pages}页”前面加个 “ ...
- asp.net mvc easyui datagrid分页
提到 asp.net mvc 中的分页,很多是在用aspnetpager,和easyui datagrid结合的分页却不多,本文介绍的是利用easyui 中默认的分页控件,实现asp.net mvc分 ...
- easyUI datagrid 分页参数page和rows
Struts2获取easyUI datagrid 分页参数page和rows 用pageHelper分页时,只要是能够获取前台传来的两个参数page和rows基本就完成了很大一部分. 获取方法:定义两 ...
- EasyUI Datagrid 分页显示(客户端)
转自:https://blog.csdn.net/metal1/article/details/17536185 EasyUI Datagrid 分页显示(客户端) By ZYZ 在使用JQuery ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页
系列目录 前言 为了符合后面更新后的重构系统,文章于2016-11-1日重写 EasyUI Datagrid在加载的时候会提交一些分页的信息到后台,我们需要根据这些信息来进行数据分页再次返回到前台 实 ...
- EasyUI 页面分页
DAO package com.hanqi.dao; import java.util.ArrayList; import java.util.List; import org.hibernate.S ...
- JQuery easyui Datagrid 分页事件
easyui是Jquery中的一个轻量级UI插件,提供了一些诸如window.datagrid.button等控件.现在主要说说Datagrid中分页控件的使用. easyui中可以单独添加分页pag ...
- EasyUI DataGrid 分页实现示例
使用easyui可以很方便的开发web程序,这儿仅展示一个后台使用mvc来实现分页的示例,截图如下 示例代码如下 1. 创建模型类,代码如下 using System; using System.Co ...
随机推荐
- QT文件操作
/* 写文件 */ QFile file(filePath); bool bo = file.open(QIODevice::WriteOnly | QIODevice::Append); //qDe ...
- Exp4恶意代码分析 20164312 马孝涛
1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,sy ...
- hadoop 笔记(hive)
//**********************************//安装配置1. 修改配置文件 1.1 在conf文件夹下 touch hive-site.xml <configurat ...
- oracle 一些常用的sql优化规则
1.高效使用groupby 提高GROUP BY语句的效率,可以通过将不需要的记录在GROUP BY之前过滤掉. 低效: SELECT JOB ,AVG(SAL) FROM EMP GROUP BY ...
- C# ListView 控件和 INotifyPropertyChanged 接口
ListView 控件和 DataGridView 控件 ListView 是跟 Winform 中 DataGridView 用法以及显示效果差不多的一个 WPF 控件,可以通过列表的方式方便的显示 ...
- 基于vue-cli构建vue-router的入门级demo
前言 本案列仅针对刚刚入门vue学习的伙伴,博主也是刚刚在学基于vue-cli搭建脚手架项目,对于前端大牛,可以移步. 快速搭建vue-cli环境 如何搭建基于vue-cli项目,这里不再叙述,如果不 ...
- 架构师入门:Spring Cloud系列,Hystrix与Eureka的整合
和Ribbon等组件一样,在项目中,Hystrix一般不会单独出现,而是会和Eureka等组件配套出现.在Hystrix和Eureka整合后的框架里,一般会用到Hystrix的断路器以及合并请求等特性 ...
- 中国.NET:各地微软技术俱乐部汇总(更新中...)
与微软技术的发展历程相似,微软俱乐部的发展同样经历着沉沉浮浮.2002年周庆麒先生创办的著名Office技术论坛Excel Home的上线,各种线上技术社区在中国的互联网世界中萌发.接着以鞠海洋(广州 ...
- JVM回收器与调优
定义: 使用编程语言将GC算法实现出来,产生的程序就是垃圾搜集器了 JVM给了三种选择:串行收集器.并行收集器.并发收集器 串行搜集器(serial collector):它只有一条GC线程,且就像前 ...
- springboot~mongo内嵌集合的操作
对于mongodb的内嵌对象的各种操作大叔在.net平台时已经说过,同时大叔也自己封装过mongo的仓储,使用也都很方便,而在java springboot框架里当然也有对应的方法,下面主要说一下,希 ...