layui实现数据分页功能


Posted in Javascript onJuly 27, 2019

本文实例为大家分享了layui实现数据分页功能,供大家参考,具体内容如下

官网layui table演示页面

示例截图:

layui实现数据分页功能

页面引入layui.css、 layui.js

<div id="pTable" style="width: 1200px;">
  <table class="layui-table" id="layui_table_id" lay-filter="test">
  </table>
<div id="laypage"></div>
 </div>

前台js

var limitcount = 10;
 var curnum = 1;
 //列表查询方法
 function productsearch(productGroupId,start,limitsize) {
  layui.use(['table','laypage','laydate'], function(){
   var table = layui.table,
    laydate=layui.laydate,
    laypage = layui.laypage;
   table.render({
    elem: '#layui_table_id'
    , url: '<%=path%>/xx/pListQuery.html?pId='+productGroupId+'¤tPage='+ start+'¤tNumber=' + limitsize
    /*, where:{pagename:start,pagelimit:limitsize} //传参*/
    , cols: [[
     {field: 'productId', title: 'ID', width: '170', sort: true}
     , {field: 'productName', title: '名称', width: '450'}
     , {field: 'productState', title: '状态', width: '100'}
     , {field: 'effectTime', title: '生效时间', width: '120', sort: true}
     , {field: 'invalidTime', title: '失效时间', width: '120', sort: true}
     , {field: 'productCost', title: '成本', width: '100', sort: true}
     , {field: 'poperation', title: '操作', width: '100',fixed: 'right', toolbar: '#barDemo'}
    ]]
    , page: false
    , height: 430
    ,done: function(res, curr, count){
     //如果是异步请求数据方式,res即为你接口返回的信息。
     //如果是直接赋值的方式,res即为:{data: [], count: 99} data为当前页数据、count为数据总长度
     laypage.render({
      elem:'laypage'
      ,count:count
      ,curr:curnum
      ,limit:limitcount
      ,layout: ['prev', 'page', 'next', 'skip','count','limit']
      ,jump:function (obj,first) {
       if(!first){
        curnum = obj.curr;
        limitcount = obj.limit;
        //console.log("curnum"+curnum);
        //console.log("limitcount"+limitcount);
        //layer.msg(curnum+"-"+limitcount);
        productsearch(productGroupId,curnum,limitcount);
       }
      }
     })
    }
   })
 
   //监听工具条
   table.on('tool(test)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
    var data = obj.data //获得当前行数据
     ,layEvent = obj.event; //获得 lay-event 对应的值
    if(layEvent === 'detail'){
     viewLableInfo(data.attrId);
     layer.msg(data.attrId);
    } else if(layEvent === 'del'){
     layer.msg('删除');
    } else if(layEvent === 'edit'){
     layer.msg('编辑操作');
    }
   });
   //常规用法
   laydate.render({
    elem: '#createDate'
   });
   //常规用法
   laydate.render({
    elem: '#processingTime'
   });
 
  });
 }
  var pId = '${pGBean.pgId }';
productsearch(pId, curnum, limitcount);

业务逻辑层

@Override
  public String queryList (HttpServletRequest request) {
   String total = "";
   String pId = request.getParameter("pId");
   int currentNumber = Integer.parseInt(request.getParameter("currentNumber"));
  String currentPage = request.getParameter("currentPage") == null ? "1" : request.getParameter("currentPage");
  //分页处理,显示第一页的30条数据(默认值)
  PageHelper.startPage(Integer.parseInt(currentPage), currentNumber);
  List<PExl> list = exportDao.queryList (pId);
  if(list.size() > 0){
   total = list.get(0).getTotal();
  }
  
  Page page = PageHelper.localPage.get();
  if(page!=null){
   page.setCurrentPage(Integer.parseInt(currentPage));
  }
  PageHelper.endPage();
 
  JSONObject jsonObject = new JSONObject();
  jsonObject.put("code", 0);
  jsonObject.put("msg", "");
  jsonObject.put("count", total);
  jsonObject.put("data", list);
  //System.out.println("json:----" + jsonObject.toString());
  return jsonObject.toString();
  }

sql

其中sql在计算总数totle时可以这么写

COUNT(*) OVER(PARTITION BY 1) AS TOTAL

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
可以文本显示的公告栏的js代码
Mar 11 Javascript
Jquery 1.42 checkbox 全选和反选代码
Mar 27 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
Jan 19 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
Dec 18 Javascript
js实现带按钮的上下滚动效果
May 12 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
Sep 17 Javascript
sea.js常用的api简易文档
Nov 15 Javascript
jQuery用noConflict代替$的实现方法
Apr 12 jQuery
BootStrap中Table隐藏后显示问题的实现代码
Aug 31 Javascript
Js中async/await的执行顺序详解
Sep 22 Javascript
Node.js dgram模块实现UDP通信示例代码
Sep 26 Javascript
使用JS判断移动端手机横竖屏状态
Jul 30 Javascript
layUI实现列表查询功能
Jul 27 #Javascript
Layui实现带查询条件的分页
Jul 27 #Javascript
layui数据表格实现重载数据表格功能(搜索功能)
Jul 27 #Javascript
layui表格数据重载
Jul 27 #Javascript
基于layui实现高级搜索(筛选)功能
Jul 26 #Javascript
微信小程序 如何获取网络状态
Jul 26 #Javascript
layui使用数据表格实现购物车功能
Jul 26 #Javascript
You might like
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
2012/05/05 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
2018/11/30 PHP
Valerio 发布了 Mootools
2006/09/23 Javascript
js获取指定日期前后的日期代码
2013/08/20 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
AngularJS模块学习之Anchor Scroll
2016/01/19 Javascript
JavaScript数组的一些奇葩行为
2016/01/25 Javascript
Angular.js与Bootstrap相结合实现手风琴菜单代码
2016/04/13 Javascript
Map.vue基于百度地图组件重构笔记分享
2017/04/17 Javascript
Vue+axios 实现http拦截及路由拦截实例
2017/04/25 Javascript
浅析JS中常用类型转换及运算符表达式
2017/07/23 Javascript
微信小程序如何使用云开发
2019/05/17 Javascript
js设置鼠标悬停改变背景色实现详解
2019/06/26 Javascript
javascript实现拼图游戏
2021/01/29 Javascript
Python字符串详细介绍
2015/05/09 Python
让Python代码更快运行的5种方法
2015/06/21 Python
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
python实现图片识别汽车功能
2018/11/30 Python
聊聊python里如何用Borg pattern实现的单例模式
2019/06/06 Python
pytest中文文档之编写断言
2019/09/12 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
Python开发入门——迭代的基本使用
2020/09/03 Python
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
乐高瑞士官方商店:LEGO CH
2020/08/16 全球购物
CSS代码检查工具stylelint的使用方法详解
2021/03/27 HTML / CSS
初中音乐教学反思
2014/01/12 职场文书
大学生创业项目方案
2014/03/08 职场文书
放飞梦想演讲稿
2014/05/05 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
个人借条范本
2015/05/25 职场文书
考生诚信考试承诺书(2016版)
2016/03/25 职场文书
如何使用Maxwell实时同步mysql数据
2021/04/08 MySQL
7个你应该知道的JS原生错误类型
2021/04/29 Javascript