Bootstrap-table的客户端分页渲染表格

29 篇文章 3 订阅
17 篇文章 0 订阅

一、前言:

具有单选,复选框,排序,分页,扩展和其他添加功能的扩展Bootstrap表

1、服务端分页地址:

https://blog.csdn.net/qq_43753724/article/details/112074557

2、插件下载地址:

https://download.csdn.net/download/qq_43753724/15850703?spm=1001.2014.3001.5503

二、客户端分页步骤:

1、table标签:


<div class="ibox-content table-responsive">
                            <table id="table" class="table" data-click-to-select="true">
                            </table>
                        </div>

2、js渲染:

2.1、表格初始化

 //测试客户端分页
        $('#table').bootstrapTable('destroy');
        $('#table').bootstrapTable({
            url:'/opms/areaInfo/oilAreaDailyList',
            method:'post',
            contentType: "application/x-www-form-urlencoded;charset=UTF-8",//发送到服务器的数据编码类型
            striped:true,   //是否显示行间隔色
            cache:false,    //禁用缓存
            pagination:true,//是否显示分页
            sortable:true, //是否启用排序
            sortOrder:'asc',//排序方式
            sortName:'time',    //要排序的列
            sidePagination:'client',//客户端分页
            pageNumber:1,   //初始化加载第一页,默认第一页
            pageSize:10,    //每页的记录行数
            pageList:[10,25,50,100,'All'],//可供选择的每页的行数
            search:true,    //是否显示表格搜索,此搜索是客户端搜索,不会进服务端
            showSearchClearButton :true,
            searchHighlight: true,//突出搜索的文本
            strictSearch:true,
            buttonsClass:'success',//定义表格按钮的类别
            showColumns:true,//是否显示所有的列
            showRefresh:true,//是否显示刷新按钮
            showFooter:true,//
            // footerStyle:"footerStyle",
            minimumCountColumns:2,//最少允许的列数
            clickToSelect:true, //是否启用点击选中行
            showToggle:true,    //是否显示详细视图和列表视图的切换按钮
            cardView:false,     //是否显示详细视图
            detailView:false,   //是否显示父子表
            dataType:'json',
            undefinedText:'*',
            queryParamsType:"undefined",    //设置参数格式
            queryParams:function queryParams(params) {//设置查询参数
                params.areaId=$('#areaId option:selected').val();
                params.time=$('#time').val();
                return params;
            },
            columns:[{
                title:'作业区编号',
                field:'areaId',
                align:'center',
                sortable:true,
                footerFormatter:areaIdFormatter
            },{
                title:'时间',
                field:'time',
                align:'center',
                sortable:true,
                footerFormatter:timeFormatter
            },{
                title:'日产油(t)',
                field:'oilDaily',
                align:'center',
                footerFormatter:oilDailyFormatter
            },{
                title:'日产液(t)',
                field:'fluidDaily',
                align:'center',
                footerFormatter:fluidDailyFormatter
            },{
                title:'日产水(t)',
                field:'waterDaily',
                align:'center',
                footerFormatter:waterDailyFormatter
            },{
                title:'日产气(立方米)',
                field:'gasDaily',
                align:'center',
                footerFormatter:gasDailyFormatter
            },{
                title:'油气比(%)',
                field:'oilGasRatio',
                align:'center',
                footerFormatter:oilGasRatioFormatter
            },{
                title:'报警数量',
                field:'alarmCount',
                align:'center',
                footerFormatter:alarmCountFormatter
            }]
        });


2.2、页脚格式化处理:

 //页脚格式化函数
        function areaIdFormatter() {
            return '小计';
        }
        function timeFormatter(data) {
            return data.length;
        }
        function oilDailyFormatter(data) {
            var field = this.field;
            return data.map(function (row) {
                return +row[field];
            }).reduce(function (sum, i) {
                return sum + i;
            }, 0)
        }
        function fluidDailyFormatter(data) {
            var field = this.field;
            return data.map(function (row) {
                return +row[field];
            }).reduce(function (sum, i) {
                return sum + i
            }, 0)
        }
        function waterDailyFormatter(data) {
            var field = this.field;
            return data.map(function (row) {
                return +row[field];
            }).reduce(function (sum, i) {
                return sum + i
            }, 0)
        }
        function gasDailyFormatter(data) {
            var field = this.field;
            return data.map(function (row) {
                return +row[field];
            }).reduce(function (prev,cur) {
                return prev + cur;
            }, 0)
        }
        function oilGasRatioFormatter(data) {
            // console.log(data);
            var field=this.field;
            var len=data.length;
            return data.map(function (row) {
                return +row[field];
            }).reduce(function (prev,cur) {
                return (prev/len+cur/len).toFixed(2);
            },0);
        }
        function alarmCountFormatter(data) {
            var field = this.field;
            return data.map(function (row) {
                return +row[field];
            }).reduce(function (sum, i) {
                return sum + i
            }, 0)
        }

3、后端处理:

Controller层代码:

   @RequestMapping(value = "/oilAreaDailyList")
    @ResponseBody
    public List<OilAreaDaily>  oilAreaDailyList(OilAreaDaily oilAreaDaily){
        //查询满足条件的所有数据
        List<OilAreaDaily> oilAreaDailyList=areaInfoService.oilAreaDailyList(oilAreaDaily);
        return oilAreaDailyList;
    }

4、前端页面渲染效果:

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python是一种高级编程语言,而Django是一个使用Python编写的Web框架。它们可以一起使用来开发功能强大的Web应用程序。 Bootstrap是一个开源的前端框架,它提供了一套美观和响应式的页面设计元素和样式。它的主要目标是简化开发者在Web上创建美观和易于使用的页面的工作。 Bootstrap-Table是基于Bootstrap框架的一个强大的jQuery表格插件。它提供了丰富的功能和选项,使开发者能够很容易地在Web应用程序中创建和管理数据表格Bootstrap-Table允许开发者使用少量的HTML和JavaScript代码来自定义和配置表格的样式和功能。 在Python Django中使用Bootstrap-Table可以帮助我们更轻松地创建和管理数据表格。我们可以将Bootstrap-Table与Django的模型和视图结合使用,从数据库中获取数据并在Web应用程序中显示它们。通过使用Bootstrap-Table的功能,我们可以对表格进行排序、分页、筛选等操作。 使用Bootstrap-Table的一个例子是在Django的视图中使用它来显示查询结果。我们可以通过在模板中引入Bootstrap-Table的样式和脚本文件,然后在视图中将查询结果传递给模板。在模板中,我们可以使用Bootstrap-Table的数据属性和选项来定义表格的样式和功能。最后,我们可以使用Bootstrap-TableJavaScript方法来初始化和渲染表格,并在页面上显示查询结果。 总而言之,Python Django与Bootstrap-Table的结合可以让开发者更轻松地创建和管理数据表格,从而为Web应用程序提供更好的用户体验和功能。这是一个强大的组合,可以帮助我们快速开发高效的Web应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别团等shy哥发育

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值