专栏首页编程微刊表格插件-bootstrap table的分页使用示例

表格插件-bootstrap table的分页使用示例

1:在官网上下载相关的文件之后,步骤下载之后引入:

<!-- 引入的css文件  -->
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link href="bootstrap-table/dist/bootstrap-table.min.css"
    rel="stylesheet">
<!-- 引入的js文件 -->
<script src="jquery/jquery.min.js"></script>
<script src="bootstrap/js/bootstrap.min.js"></script>
<script src="bootstrap-table/dist/bootstrap-table.min.js"></script>
<script src="bootstrap-table/dist/locale/bootstrap-table-zh-CN.min.js"></script>

2:html界面

<div class="mytab">
                <table id="mytab" class="table table-hover"></table>
                </div>

3:js代码

$('#mytab').bootstrapTable({
        method : 'post',
        // contentType:
        // "application/x-www-form-urlencoded",//当请求方法为post的时候,必须要有!!!!
        url : path + "/user/list",// 请求路径
        striped : true, // 是否显示行间隔色
        pageNumber : 1, // 初始化加载第一页
        pagination : true,// 是否分页
        sidePagination : 'client',// server:服务器端分页|client:前端分页
        pageSize : 4,// 单页记录数
        pageList : [ 5, 10, 20, 30 ],// 可选择单页记录数
        //showRefresh : true,// 刷新按钮
        queryParams : function(params) {// 上传服务器的参数
            var temp = {// 如果是在服务器端实现分页,limit、offset这两个参数是必须的
                limit : params.limit, // 每页显示数量
                offset : params.offset, // SQL语句起始索引
            // page: (params.offset / params.limit) + 1, //当前页码

            };
            return temp;
        },
        columns : [ {
            title : '登录名',
            field : 'loginName',
            sortable : true
        }, {
            title : '昵称',
            field : 'nickName',
            sortable : true
        }, {
            title : '角色',
            field : 'roleName',
        }, {
            title : '操作',
            field : 'id',
            formatter : option
        } ]
    })

4:完整的添加数据之后显示在表格里面,自动分页代码,删除和编辑效果 jsp界面 :

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="en">
<head>

<%
    String path = request.getRequestURI();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path;
%>
<base href="<%=basePath%>">


  <title>用户管理</title>

  <link rel="stylesheet" type="text/css" href="../../common/bootstrap/css/bootstrap.min.css"/>
  <link rel="stylesheet"  href="../../common/bootstrap-table/bootstrap-table.min.css">
  <link rel="stylesheet" type="text/css" href="../../css/user/user.css"/>
<style>
</style>
</head>
<body >
  
  
  <div class="page-content-wrapper">
    <div class="page-content">
        <div class="row">
            <div class="col-md-12">
                <div class="portlet-title">
                    <a href="javascript:;" class="btn default yellow-stripe" id="userAdd"><i class=""></i><span class="hidden-480"> 添加用户</span></a>
                </div>

                <div class="mytab">
                <table id="mytab" class="table table-hover"></table>
                </div>
            </div>
        </div>
    </div>
</div>


<script type="text/javascript" src="../../js/jquery-1.9.1.js"/></script>

<script src="../../common/bootstrap/js/bootstrap.min.js"></script>
<script src="../../common/bootstrap-table/bootstrap-table.min.js"></script>
<script src="../../common/bootstrap-table/bootstrap-table-zh-CN.min.js"></script>
<script src="../../js/user/user.js"/></script>
<!-- 弹框 -->
<script src="../../common/layer/layer.js"></script>
<script src="../../common/layer/extend/layer.ext.js"></script>
    

</body>
</html>

js代码:

var path = getContextPath();

$(function() {
    $('#mytab').bootstrapTable({
        method : 'post',
        // contentType:
        // "application/x-www-form-urlencoded",//当请求方法为post的时候,必须要有!!!!
        url : path + "/user/list",// 请求路径
        striped : true, // 是否显示行间隔色
        pageNumber : 1, // 初始化加载第一页
        pagination : true,// 是否分页
        sidePagination : 'client',// server:服务器端分页|client:前端分页
        pageSize : 4,// 单页记录数
        pageList : [ 5, 10, 20, 30 ],// 可选择单页记录数
        //showRefresh : true,// 刷新按钮
        queryParams : function(params) {// 上传服务器的参数
            var temp = {// 如果是在服务器端实现分页,limit、offset这两个参数是必须的
                limit : params.limit, // 每页显示数量
                offset : params.offset, // SQL语句起始索引
            // page: (params.offset / params.limit) + 1, //当前页码

            };
            return temp;
        },
        columns : [ {
            title : '登录名',
            field : 'loginName',
            sortable : true
        }, {
            title : '昵称',
            field : 'nickName',
            sortable : true
        }, {
            title : '角色',
            field : 'roleName',
        }, {
            title : '操作',
            field : 'id',
            formatter : option
        } ]
    })

    // 定义删除、更新操作
    function option(value, row, index) {
        var htm = '<button id="delUser" userId='
                + value
                + ' onclick="delUser(this)">删除</button><button id="dupUser" onclick="updUser('
                + value + ')">修改</button>'
        return htm;
    }

    // 查询按钮事件
    $('#search_btn').click(function() {
        $('#mytab').bootstrapTable('refresh', {
            url : path + '/user/list'
        });
    })

    // 添加用户
    $("#userAdd").on("click", function() {
        layer.open({
            type : 2,
            title : '添加用户',
            area : [ '500px', '440px' ],
            fix : false, // �
            content : path + '/user/pageAdd',
            end : function() {
                $("#mytab").bootstrapTable('refresh', {
                    url : path + "/user/list"
                });
            }
        });
    });

})

// 删除用户
function delUser(dom) {
   
    var mymessage = confirm("确认删除嘛?");
    if (mymessage == true) {
        $.ajax({
            url : path + '/user/' + $(dom).attr("userId"),
            type : 'delete',
            success : function(data) {
                $(dom).parent().parent().hide();
            },
            error : function(data){
                alert("服务器繁忙")
            }
        });
    }
}

// 编辑用户
function updUser(id) {
    layer.open({
        type : 2,
        title : '编辑用户',
        area : [ '500px', '440px' ],
        fix : false, // �
        content : path + '/user/pageUpd/' + id,
        end : function() {
            $("#mytab").bootstrapTable('refresh', {
                url : path + "/user/list"
            });
        }
    });
}

// 获取项目路径
function getContextPath() {
    var currentPath = window.document.location.href;
    var pathName = window.document.location.pathname;
    var pos = currentPath.indexOf(pathName);
    var localhostPath = currentPath.substring(0, pos);
    var projectName = pathName
            .substring(0, pathName.substr(1).indexOf('/') + 1);
    return (localhostPath + projectName);
}

原文作者:祈澈姑娘 技术博客:https://www.jianshu.com/u/05f416aefbe1 90后前端妹子,爱编程,爱运营,爱折腾。 坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,欢迎大家一起探讨交流。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 表格插件-bootstrap table的使用示例

    基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选、多选、排序、分页,以及编辑、导出、过滤(扩展)等等的功能。

    祈澈菇凉
  • Echarts图表中饼状图的指示线条

    实现一个Echarts图表中饼状图的指示线条,更加直观明确地看到统计效果。 写一个完整的demo:

    祈澈菇凉
  • jQuery验证车牌号(含新能源车牌)

    祈澈菇凉
  • 前端入门24-响应式布局(BootStrap)声明正文-响应式布局(BootStrap)

    BootStrap 目前已经出了 4 个版本,每个版本都有对应的官网教程,先来看看不同版本里的宣传语:

    请叫我大苏
  • Pytorch里的CrossEntropyLoss详解

    首先要知道上面提到的这些函数一部分是来自于torch.nn,而另一部分则来自于torch.nn.functional(常缩写为F)。二者函数的区别可参见 知乎:...

    marsggbo
  • 增强式学习核心算法:基于策略的梯度下降法

    我们要打造一个Agent,也就是智能机器人,它运作在一个给定环境中。它每次与环境互动时都有给定种选择,同时它可以获得当前环境的状态,Agent如果在有限种选择...

    望月从良
  • plupload多文件上传插件上传文件出现blob的问题处理

    第一次使用plupload,上传文件后发现出现了一个blob文件,同时有的文件并没有被上传上,这是什么鬼,大概的搜了下,有遇到这个问题的,不过没有几个实质性的解...

    徐大嘴
  • 富Web应用的架构与转化方法:Web应用系列第二篇

    版权说明:本文书写过程中参照了红帽的技术文档;本系列文章中的部分测试代码为红帽公司版权所有,因此不能提供源码文件。

    魏新宇
  • 谷歌推出全新强化学习智能体,1秒处理240万帧大幅超越IMPALA

    DeepMind的强化学习研究小组领导人,AlphaGo、AlphaZero的首席研究员及AlphaStar的联合负责人David Silver教授曾经介绍过强...

    新智元
  • 每秒处理240万帧游戏画面,AI训练成本降低80%,谷歌开源RL并行计算框架

    AI训练中的并行计算就是如此,纵使你有一千张GPU,也无法实现单机训练一千倍的效果。

    量子位

扫码关注云+社区

领取腾讯云代金券