jqGrid的分页

1、先导入三个jar包

2、再导入两个css文件

3、最后导入三个js文件

4、jsp里引入css和js文件,注意先后顺序

[html] view plaincopy

  1. <link type="text/css" rel="stylesheet" href="css/bootstrap.min.css" media="screen"/>
  2. <link type="text/css" rel="stylesheet" href="css/ui.jqgrid.css" media="screen"/>
  3. <script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
  4. <script type="text/javascript" src="js/grid.locale-cn.js"></script>
  5. <script type="text/javascript" src="js/jquery.jqGrid.min.js"></script>

5、在jsp里写一个存放表格数据的table和div

[html] view plaincopy

  1. <div id=‘tableDay‘
  2. style="float: left; width: 780px; margin: 0 15px 0 13px;">
  3. <table id="tableListDay" style="width: 780px;"></table>
  4. <div id="tablePagerDay" style="width: 780px;"></div>
  5. </div>

6、在自己的js里封装好方法

[html] view plaincopy

  1. function loadDayGrid(day_URL){
  2. $(‘#tableDay‘).show();
  3. $.jgrid.defaults.styleUI="Bootstrap";
  4. $("#tableListDay").jqGrid({
  5. url : day_URL,
  6. datatype : "json",
  7. jsonReader: {
  8. root: "list",
  9. //page: "currpage",
  10. total: "pages"
  11. //records: "totalrecords",
  12. //cell: "invrow"
  13. //id: config.dataIdKey
  14. },
  15. colNames : [ ‘站点‘, ‘年‘, ‘月‘, ‘日‘, ‘降水量‘ ],
  16. colModel : [ {
  17. name : ‘c_STATION_NAME‘,
  18. index : ‘c_STATION_NAME‘,
  19. align : "center",
  20. width : 100
  21. }, {
  22. name : ‘YEAR‘,
  23. index : ‘YEAR‘,
  24. align : "center",
  25. width : 100
  26. }, {
  27. name : ‘MONTH‘,
  28. index : ‘MONTH‘,
  29. width : 100,
  30. align : "center"
  31. }, {
  32. name : ‘DAY‘,
  33. index : ‘DAY‘,
  34. width : 100,
  35. align : "center"
  36. }, {
  37. name : ‘AVG‘,
  38. index : ‘AVG‘,
  39. width : 130,
  40. align : "center"
  41. } ],
  42. viewrecords : true,
  43. shrinkToFit : true,
  44. rownumbers: true,
  45. autowidth: true,
  46. autoScroll: true,
  47. multiselect: true,
  48. rowList: [50, 100, 200, 400, 600],
  49. hidegrid: false,
  50. rowNum : 50,
  51. pager : ‘#tablePagerDay‘,
  52. width : 700,
  53. height : 400,
  54. });
  55. }

调用此方法并重新加载jqGrid

[html] view plaincopy

  1. var dayUrl = ‘dayAllTableRain.action?beginyear=‘ + beginyear
  2. + ‘&endyear=‘ + endyear + ‘&month=‘ + month
  3. + ‘&day=‘ + day;
  4. loadDayGrid(dayUrl);
  5. $("#tableListDay").jqGrid(‘setGridParam‘, {
  6. url : dayUrl,
  7. datatype : "json",
  8. mtype : "get",
  9. }).trigger("reloadGrid");

7、在action里写好请求地址对应的方法

[java] view plaincopy

  1. public String dayAllTableRain(){
  2. try {
  3. HttpServletRequest req = ServletActionContext.getRequest();
  4. HttpServletResponse response = ServletActionContext.getResponse();
  5. response.setCharacterEncoding("UTF-8");
  6. req.setCharacterEncoding("UTF-8");
  7. int page=0;
  8. int rows=0;
  9. try{
  10. page=Integer.parseInt(req.getParameter("page"));
  11. rows=Integer.parseInt(req.getParameter("rows"));
  12. }catch(Exception e){
  13. e.printStackTrace();
  14. }
  15. String beginyear = req.getParameter("beginyear");
  16. String endyear = req.getParameter("endyear");
  17. String month = req.getParameter("month");
  18. String day = req.getParameter("day");
  19. Map map = new HashMap();
  20. map.put("beginyear", beginyear);
  21. map.put("endyear", endyear);
  22. map.put("month", month);
  23. map.put("day", day);
  24. map.put("rows", rows);
  25. map.put("page", page);
  26. PageInfo pageInfo = this.hRainService.dayAllQuery(map);
  27. PrintWriter writer = response.getWriter();
  28. JSONObject jsondata = JSONObject.fromObject(pageInfo);
  29. writer.print(jsondata.toString());
  30. } catch (Exception e) {
  31. e.printStackTrace();
  32. }
  33. return null;
  34. }

8、接口dao里代码

[java] view plaincopy

  1. /**
  2. * 降水 查询图 日查询 所有站点
  3. * @param map
  4. * @return list
  5. */
  6. public PageInfo dayAllQuery(Map map);

实现类daoImpl里代码

[java] view plaincopy

  1. public PageInfo dayAllQuery(Map map) {
  2. //获取第page页,rows条内容,默认查询总数count
  3. int rows =Integer.parseInt(map.get("rows").toString());
  4. int page =Integer.parseInt(map.get("page").toString());
  5. SqlSession sqlSession=this.getSqlSession();
  6. if(rows!=0&&page!=0){
  7. PageHelper.startPage(page,rows);
  8. }else{
  9. }
  10. List<HRainInfo> list=sqlSession.selectList("dayAllQuery",map);
  11. PageInfo<HRainInfo> pageInfo = new PageInfo(list);
  12. return pageInfo;
  13. }

接口serivce里代码

[java] view plaincopy

  1. /**
  2. * 降水 查询图 日查询 所有站点
  3. * @param map
  4. * @return list
  5. */
  6. PageInfo dayAllQuery(Map map);

实现类serviceImpl里代码

[java] view plaincopy

  1. public PageInfo dayAllQuery(Map map) {
  2. return hRainInfoDao.dayAllQuery(map);
  3. }

9、mapper.xml里代码

[html] view plaincopy

  1. <!-- 降水 查询图 日查询 所有站点 -->
  2. <select id="dayAllQuery" parameterType="map" resultType="HRainInfo">
  3. <![CDATA[
  4. select avg(r.hour24r) avg,r.year,r.month,r.day,s.c_station_name from
  5. T_JS_OBT_HOUR_RAIN r,t_js_cd_station s ,nuist_cd_station_code n
  6. where r.year between #{beginyear} and #{endyear} and r.month=#{month} and r.day=#{day}
  7. and r.obtid=s.v01000 and s.c_county_code=n.c_county_code and n.c_county_code=320111
  8. group by r.year,r.month,r.day,s.c_station_name
  9. ]]>
  10. </select>

所需的导入jar包,css文件,js文件到http://down.51cto.com/data/2127956下载。

时间: 2024-10-13 06:39:54

jqGrid的分页的相关文章

jqgrid 滚动分页

有时,我们不想在底部显示分页信息,而是通过用户滚动鼠标,当鼠标滚到到底自动加载下一页数据,再滚动再加载直至数据全部加载完毕.如何配置? 设置 scroll:true   emptyrecords用于在滚动到数据全部加载完毕后的提示 emptyrecords:"已经到底了" $("#jqGrid").jqGrid({ ... scroll: true,//是否启动滚动分页 emptyrecords: '没有数据了',//滚到到底以后的提示文 ... }); 如果配置为

【APS.NET Core】- Razor Page 使用jqgrid实现分页功能

本文将使用jqgrid在Razor Page中实现分页功能. 前台 List.cshtml代码如下: 1 @page 2 @model ListModel 3 @{ 4 Layout = "~/Pages/Shared/_Index.cshtml"; 5 } 6 7 <script> 8 $(function () { 9 gridList(); 10 }); 11 12 function gridList() { 13 var $gridList = $("#g

jqgrid 前端分页

前提: 不能进行后台分页,或者后台添加分页比较麻烦的话, 打算采取前端分页 后台只需要查询全部数据,返回到前端 jqgrid需要后台返回的参数 { page:当前页(默认第一页 =1), total :总页数 (数据库返回总条数/页面分页配置显示的条数), records:数据库查询完的总条数, rows : 数据库查询的数据 } 转成json值,返回到前端 jqgrid初始化时 修改 datatype: "local", 添加 loadonce: true, 查询数据时,加载方式:

jqgrid使用sql row_number进行分页

背景 系统中使用了jqgrid的展示,现在要处理10w+的数据量 现状 使用了全查询的,查询到了10w+的数据放到了datatable中,每次页面刷新需要9秒多,并且传递给另一个dll来处理一些事情.偶尔会出现StackOverFlow的异常问题,但是频率较大. 分析 现有的就有两个问题需要解决: 性能问题 StackOverFlow的异常问题 起始 性能问题经过调查,sql语句查询完成之后至少4秒钟左右,因为是全查询,所以把尽力的条件都做了,效果不明显. 然后考虑用sql server的row

ASP.NET MVC+EF在服务端分页使用jqGrid以及jquery Datatables的注意事项

引言: 本人想自己个博客网站出来,技术路线是用ASN.NET MVC5+EF6(Code First)+ZUI+各种Jquery插件,有了这个想法之后就开始选择UI,看了好多bootstrap的模板之后,发现即使你用了bootstrap还是要自己写css样式,都是自学的,前端真的很垃圾,在网上找了很多UI,以下是各种UI的地址,需要的可以去看看: H-ui:http://www.h-ui.net/H-ui.admin.shtml ,是一个前端大牛弄得,模仿bootstrap,做适合中国网上的UI

jqgrid分页控件

工作中为了,处理分页问题,使用了两种分页控件,一种是处理表格的jqgrid控件,一种是自定义的jquery.page.js. jqgrid(http://blog.mn886.net/jqGrid/  中文的控件教程,https://github.com/tonytomov/jqGrid 这是控件的github) 使用前的引用 <script type="text/javascript" src="js/jquery/jquery.min.js"><

asp.net mvc jqgrid 同一个页面查询不同的表,jqgrid显示不同表的表头和数据并且分页

基于我上一篇文章<a href="http://www.cnblogs.com/alasai/p/4765756.html">asp.net mvc excel导入</a>中不同的部门上传不同的excel文件类型,当在同一个页面查询时怎么办呢. 解决方案:根据传过来的表名和时间参数一次性把数据全部加载到table中,其中表头要我们一个个去定,主体的顺序我们也要和表头一样,加载到前台再用表格分页控件来分页,我这里大概有100多个excel文件类型,他们的列名都不要

jqgrid获取不同分页的选中数据并保存回显

这个主要涉及三个知识点: 定义一个数组用来缓存数据 使用jqgrid本身的属性onSelectAll和beforeSelectRow 自定义封装的一个lodash.min.js 文件(切记要引入)百度网盘:https://pan.baidu.com/s/17JYOfaLVffzI1u5wL8uSkg 提取码:zgd3 主要实现逻辑:首先定义一个缓存,当表格中选择(取消)数据的时候,将选中(取消)的ID存放(移除)于缓存数组-->在jqgrid数据加载结束后将缓存数据设置为被选中状态-->这样的

Spring data Jpa 分页从1开始,查询方法兼容 Mybatis,分页参数兼容Jqgrid

废话少说 有参数可以设置 在org.springframework.boot.autoconfigure.data.web.SpringDataWebProperties 中 /** * Whether to expose and assume 1-based page number indexes. Defaults to "false", * meaning a page number of 0 in the request equals the first page. */ pr