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 相关文章推荐
jQuery Validation插件remote验证方式的Bug解决
Jul 01 Javascript
js字符串转换成xml对象并使用技巧解读
Apr 18 Javascript
上传图片预览JS脚本 Input file图片预览的实现示例
Oct 23 Javascript
jQuery给动态添加的元素绑定事件的方法
Mar 09 Javascript
jquery中toggle函数交替使用问题
Jun 22 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
Sep 24 Javascript
JS实现浏览器状态栏显示时间的方法
Oct 27 Javascript
JS设置cookie、读取cookie
Feb 24 Javascript
使用JS实现图片展示瀑布流效果的实例代码
Sep 12 Javascript
图片懒加载插件实例分享(含解析)
Jan 09 Javascript
JavaScript中click和onclick本质区别与用法分析
Jun 07 Javascript
js调用网络摄像头的方法
Dec 05 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读取xml实例代码
2010/01/28 PHP
php对csv文件的读取,写入,输出下载操作详解
2013/08/10 PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
2015/03/27 PHP
Nginx下配置codeigniter框架方法
2015/04/07 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
jQuery统计上传文件大小的方法
2015/01/24 Javascript
如何编写高质量JS代码(续)
2015/02/25 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
深究AngularJS之ui-router详解
2017/06/13 Javascript
微信小程序 转发功能的实现
2017/08/04 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
2018/08/25 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
2018/09/04 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
2019/04/10 Javascript
使用Vue+Django+Ant Design做一个留言评论模块的示例代码
2020/06/01 Javascript
Python实现基于权重的随机数2种方法
2015/04/28 Python
python一键升级所有pip package的方法
2017/01/16 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
python实现TF-IDF算法解析
2018/01/02 Python
python基础之包的导入和__init__.py的介绍
2018/01/08 Python
pandas删除指定行详解
2019/04/04 Python
python利用selenium进行浏览器爬虫
2019/04/25 Python
Kmeans均值聚类算法原理以及Python如何实现
2020/09/26 Python
浅析PyCharm 的初始设置(知道)
2020/10/12 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
2020/10/29 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
如何使用canvas绘制可移动网格的示例代码
2020/12/14 HTML / CSS
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
初中女生自我鉴定
2013/12/19 职场文书
市场策划求职信
2014/08/07 职场文书
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python
ORACLE数据库应用开发的三十个注意事项
2021/06/07 Oracle
MySQL如何使备份得数据保持一致
2022/05/02 MySQL