使用Bootstrap Table实现无刷新分页

前提

在以前做分页时,都是使用mybatis-plus进行的分页,但是点击页面的时候会进行刷新,这样在一些场景下会使用不了,但是使用AJAX也是可以实现的,但是今天使用Bootstrap的一个很好的插件进行分页,里面也提供了很多工具,比如可以导出表格等。
前提工作:准备相关的JS、CSS文件

<link rel="stylesheet" href="../js/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="../js/bootstrap/bootstrap-table/bootstrap-table.css"><!--layer upload -css-->

<script src ="../js/bootstrap/bootstrap-table/extensions/editable/bootstrap-editable.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/bootstrap/bootstrap-table/bootstrap-table.min.js"></script>
<script src="../js/bootstrap/bootstrap-table/local/bootstrap-table-zh-CN.min.js"></script>
<script src="../js/layer/layer.js"></script>
<script src ="../js/bootstrap/datetimePicker/js/bootstrap-datetimepicker.js"></script>
<script src ="../js/bootstrap/datetimePicker/js/bootstrap-datetimepicker.zh-CN.js"></script>
<script src ="../js/bootstrap/bootstrap-table/extensions/editable/bootstrap-table-editable.js"></script>
<script src="../js/bootstrap/bootstrap-tableExport/tableExport.js"></script>
<script src="../js/bootstrap/bootstrap-table/extensions/export/bootstrap-table-export.js"></script>

实现

首先在html中给一个table,并且给赋值一个id

<table id="dayAlarmTable"></table>

然后需要ajax请求对后端接口进行请求数据

//加载日预警数据
function loadDay() {
    //获取日发布预警表格数据
    $.ajax({    //获取数据(日)
        url : "../metAlarm/getAlarmInfo",
        type : "get",
        contentType : "application/json",
        dataType : "json",
        success : function(data) {
            dayAlarm = data.dayAlarmList;
            for(var i in dayAlarm){
                timestamp = dayAlarm[i].issueTime
                var date = new Date(timestamp);
                var year = date.getFullYear();
                var month = ("0" + (date.getMonth() + 1)).slice(-2);
                var day = ("0" + date.getDate()).slice(-2);
                var datetime = year + "-" + month + "-" + day;
                dayAlarm[i].issueTime = datetime
            }
            $("#dayAlarmTable").bootstrapTable("load", dayAlarm);
        },
        error :function(){
            layer.close(index);
            layer.msg("没有找到数据!", {icon: 2});
        }
    });
}

请求中使用$("#dayAlarmTable").bootstrapTable("load", dayAlarm);语句把数据传入到表格中。

然后在写入表格样式的语句
根据自己写的id进行修改,对不同的格式也可以在里面进行修改,表头和数据的名称,field一般是根据传入的对象名进行写入,要注意的是可能会自动进行驼峰命名

//日预警表格样式
function dayTableFactory() {

    // var options=$("#cs option:selected");//获取id为"cs"的选中的项
    var me = this;
    var init = function () {
        $.when().then(function () {
            $("#dayAlarmTable").bootstrapTable({
                method: 'get',				  //请求方式(*)
                striped: true,					  //是否显示行间隔色
                cache: false,					   //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
                pagination: true,				   //是否显示分页(*)
                sortable: true,					 //是否启用排序
                sortOrder: "desc",				   //排序方式
                sidePagination: "client",		   //分页方式:client客户端分页,server服务端分页(*)
                pageNumber: 1,					   //初始化加载第一页,默认第一页
                // search: true,					   //是否显示表格搜索,只能进行客户端搜索
                strictSearch: false,                //true为全匹配,false为模糊查询
                showColumns: true,				  //是否显示筛选列按钮
                showRefresh: true,			  //是否显示刷新按钮
                clickToSelect:true,				//是否启用点击选中行
                showToggle: false,					//是否显示详细视图和列表视图的切换按钮
                cardView: false,					//是否显示详细视图
                detailView: false,				   //是否显示父子表
                singleSelect: true,                //是否支持多选,false表示支持多选,true表示不支持
                //undefinedText: '_',              //当数据为undefined时显示的字符
                height: 'auto',
                pageSize: 5,
                pageList: [5, 25, 50, 100],
                // editable:true,//是否可以行内编辑
                showExport: true,//是否显示导出按钮
                exportDataType:'all',//导出全部
                exportTypes:[  'csv'], //导出文件类型
                export: 'glyphicon-export icon-share',
                exportOptions:{
                    // ignoreColumn: [0,1],  //忽略某一列的索引
                    // fileName:startTime+"_"+endTime,  //文件名称设置
                    // worksheetName: 'sheet1',  //表格工作区名称
                    // tableName: '总台帐报表',
                    //  excelstyles: ['background-color', 'color', 'font-size', 'font-weight'],
                    // onMsoNumberFormat: DoOnMsoNumberFormat
                },
                columns: [
                    {
                        title: '预警时间',
                        field: 'issueTime',
                        align: 'center',
                        valign: 'middle'

                    }
                    ,{
                        title: '发布单位',
                        field: 'pubUnit',
                        align: 'center',
                        valign: 'middle'

                    },{
                        title: '预警信号',
                        field: 'alarmSignal',
                        align: 'center',
                        valign: 'middle'
                    },{
                        title: '预警范围',
                        field: 'alarmRange',
                        align: 'center',
                        valign: 'middle'
                    },{
                        title: '预警内容',
                        field: 'content',
                        align: 'center',
                        valign: 'middle'
                    }
                ]
            });
            loadDay();
        });


    }
    init();
}

最后调用表格函数就行了

dayTableFactory()

最后就完成了。
image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Bootstrap Table 是一款基于 Bootstrap 框架的可扩展的、高性能的、响应式的表格插件。它提供了许多强大的功能和选项,能够帮助开发者快速地创建现代化的数据表格。 下面是 Bootstrap Table使用方法: 1. 引入必要的文件 在使用 Bootstrap Table 之前,需要先引入必要的文件,包括 jQuery、BootstrapBootstrap Table 插件本身的 CSS 和 JS 文件。可以从官方网站上下载最新版本的插件文件。 ```html <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap-table/1.12.1/bootstrap-table.min.css"> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <script src="https://cdn.bootcss.com/bootstrap-table/1.12.1/bootstrap-table.min.js"></script> ``` 2. 创建表格 使用 Bootstrap Table 插件创建表格非常简单。只需要在 HTML 代码中加入一个 `<table>` 标签,并设置相应的 ID 属性即可。 ```html <table id="myTable"></table> ``` 3. 配置表格JavaScript 代码中,可以使用 `bootstrapTable()` 方法来配置表格的各种属性和功能。下面是一些常用的配置选项: ```javascript $('#myTable').bootstrapTable({ url: 'data.json', // 数据源 columns: [ // 列定义 {field: 'id', title: 'ID'}, {field: 'name', title: '姓名'}, {field: 'age', title: '年龄'} ], pagination: true, // 是否启用分页 pageSize: 10, // 每页显示的记录数 search: true, // 是否启用搜索功能 showRefresh: true // 是否显示刷新按钮 }); ``` 4. 加载数据 通过设置 `url` 属性来指定数据源。数据源可以是一个 URL 地址,也可以是一个 JavaScript 对象数组。在数据加载完成后,表格会自动渲染出来。 ```javascript $('#myTable').bootstrapTable({ url: 'data.json', columns: [ {field: 'id', title: 'ID'}, {field: 'name', title: '姓名'}, {field: 'age', title: '年龄'} ] }); ``` 5. 其他功能 Bootstrap Table 还提供了许多其他的功能和选项,比如排序、过滤、编辑、导出等。开发者可以根据自己的需要来配置这些功能。 例如,要启用排序功能,只需要在 `bootstrapTable()` 方法中设置 `sortable` 属性为 `true`: ```javascript $('#myTable').bootstrapTable({ url: 'data.json', columns: [ {field: 'id', title: 'ID', sortable: true}, {field: 'name', title: '姓名', sortable: true}, {field: 'age', title: '年龄', sortable: true} ] }); ``` 以上就是 Bootstrap Table 的基本使用方法,通过这些简单的配置和操作,可以轻松地创建出强大的数据表格
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值