layui-table后端分页

之前介绍了一个layui使用laypage的后端分页,渲染表格使用的最简单的拼接标签的方式来渲染表格,此次仍旧使用了laypage

一、jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
    <script type="text/javascript" src="<%=request.getContextPath()%>/layui/layui.all.js"></script>
    </head>
    <body>
        <div class=" table-second">
            <table id="ceseList" lay-filter="test"></table>
            <div id="page" style="text-align: right;"></div>
        </div>
    <script type="text/javascript" src="<%=request.getContextPath()%>/js/testlaytable.js"></script>
    </body>

</html>

二、testlaytable.js

var table;
var laypage;
layui.use(['laydate', 'laypage', 'layer', 'table', 'carousel', 'upload', 'element'], function(){
    table = layui.table;
    laypage = layui.laypage;
});
//查询信息
function selectCase(){
    table.render({
        id:'id',
        elem: '#ceseList',
        url: "../getUsers", //数据接口
        where: {
            "checkType":1,//自定义参数
            "page":page,//当前页(必传参数,可改变参数名)
            "size":size,//每页条数(必传参数,可改变参数名)
        },
        page: false, //开启分页,true为开启,false为关闭
        //even: true, //隔行背景
        loading: true,//加载等待
        cellMinWidth: 100, //全局定义常规单元格的最小宽度
        cols: [[
                  {fixed:'left', type:'checkbox'},
                  {field:'id', title: 'ID'},
                  {field:'userName', width:'8%', title: '用户名'},
                  {field:'gender', width:'15%', title: '性别'},
                  {field:'grade', width:'10%', title: '年级'},
                  {field:'calsses', width: '20%',  title: '班级'},
                  {field:'school', width:'10%',title: '学校'},
                  {field:'email', width:'15%', title: '邮箱'},
                  {fixed:'right', field:'operation', width:'10%', title: '操作'},
            ]],
        done: doneCallback,
    });
}
//回调函数
function doneCallback(res, curr, count){
    var data=res.data;
    $("[data-field='id']").css("display","none");// 设置id列不显示
    for(var i=0;i<data.length;i++){
        $("[data-index='"+i+"']").children("[data-field='operation']").children().html("<span onclick='detail("+data[i].id+")' style='cursor:pointer;color:#0099ff;'>删除</span>");
    }
    //layui分页 
    laypage.render({ 
        elem:'page',  
        count:count,
        curr:page,
        limit:size,
        limits:[10,20,30],
        prev:"<<",
        next:">>",
        theme:"#0099ff",
        layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'],
        jump:function (obj,first) {  
            if(!first){  
                page = obj.curr;  
                size = obj.limit;  
                selectCase();  
            }  
        }  
    }) 
}

三、controller

/** 
     * 
     * 使用lay-table
     * @param request
     * @param response
     * @throws IOException
     */
    @RequestMapping(value = "/getUsers", method = RequestMethod.GET)
    public void extApproveTypeCase(HttpServletRequest request, HttpServletResponse response)
            throws IOException {
        Map<String, Object> map = new HashMap<String, Object>();
        String page = request.getParameter("page");// 当前页
        String size = request.getParameter("size");// 条数
        String checkType= request.getParameter("checkType");// 类型
        int pages = Integer.parseInt(page);
        int rows = Integer.parseInt(size);
        int pageIndex = (pages - 1) * rows;
        map.put("page", pageIndex);// 起始条数
        map.put("size", rows);// 每页条数
        map.put("checkType", Integer.parseInt(checkType));// 类型
        // 查询总数
        int count = userService.selectUserInfoCnt(map);
        // 查询案件信息
        List<Map<String, Object>> userList = userService.selectUserInfoList(map);
        Map<String, Object> res = new HashMap<String, Object>();
        res.put("data", userList);
        res.put("count", count);
        res.put("code", 0);//返回码
        res.put("msg", "");
        writeJSON(response, res);

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值