Bootstrap-Table学习笔记

简介: Bootstrap-Table学习笔记

Bootstrap-Table学习笔记


前言

依赖

示例

客户端分页

客户端分页需要服务器端返回的数据格式是一个**数组**

// 初始化表格
var columns = [
    {field: 'selectItem', radio: true},
    {title: '反馈时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'},
    {title: '用户ID', field: 'createUser.id', visible: true, align: 'center', valign: 'middle'},
    {title: '用户名称', field: 'createUser.realName', visible: true, align: 'center', valign: 'middle'},
    {title: '用户反馈图片1', field: 'feedbackImgOne', visible: false, align: 'center', valign: 'middle'},
    {title: '用户反馈图片2', field: 'feedbackImgTwo', visible: false, align: 'center', valign: 'middle'},
    {title: '用户反馈图片3', field: 'feedbackImgThree', visible: false, align: 'center', valign: 'middle'},
    {title: '用户反馈时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'},
    {title: '处理内容', field: 'dealWithContent', visible: true, align: 'center', valign: 'middle'},
    {
        title: '状态', field: 'hasDealWith', visible: true, align: 'center', valign: 'middle',
        formatter:function (value, row, index) {
            if(value==0) return "未处理";
            else return "已处理";
        }
    },
    {title: '操作',field:'ID', visible: true, align: 'center', valign: 'middle',
        formatter: function () {
            return '<button  type="button" onClick="#"  class="btn btn-xs btn-primary" data-toggle="modal" data-target="#consumeModal">处理</button>';
        }}
];
//先销毁表格
$('#tableId').bootstrapTable('destroy');
//初始化表格
$('#tableId').bootstrapTable({
    // 请求地址
    url: Feng.ctxPath + "/opinion-feedback/query-opinion-feedback",
    // 请求方式
    method: "get",
    // 请求内容类型
    contentType: "application/x-www-form-urlencoded",
    // 数据类型
    dataType: "json",
    // 是否显示行间隔色
    striped: true,
    // 是否启用排序
    sortable: true,
    // 排序方式
    sortOrder: "asc",
    // 是否使用缓存
    cache: false,
    // 每行的唯一标识
    // uniqueId: "id",
    // 指定工具栏
    toolbar: "#toolbar",
    // 显示刷新按钮
    showRefresh: false,
    // 切换显示样式
    showToggle: false,
    // 默认显示详细视图
    cardView: false,
    // 是否显示搜索
    // search: true,
    // 是否显示分页
    pagination: true,
    // 是否启用点击选中行
    clickToSelect: true,
    // 最少要显示的列数
    // minimumCountColumns: 2,
    // 显示隐藏列
    showColumns: false,
    // cell没有值时显示
    undefinedText: '-',
    // 分页方式:client客户端分页,server服务端分页
    /** 指定。注意,这两种后台传过来的json数据格式也不一样
      client : 正常的json array格式 [{},{},{}]
      server: {“total”:0,”rows”:[]} 其中total表示查询的所有数据条数,后面的rows是指当前页面展示的数据    量。
    */
    sidePagination: "client",
    // 每页的记录行数
    pageSize: 1,
    // 初始化加载第1页,默认第1页
    pageNumber: 1,
    // 可供选择的每页的行数
    pageList: "[10, 20, 50, 80, 100]",
    paginationFirstText: "首页",
    paginationPreText: "上一页",
    paginationNextText: "下一页",
    paginationLastText: "末页",
    paginationLoop: false, // 分页条无限循环,默认为true
    // 按钮样式
    buttonsClass: 'btn',
    // 分页器class
    iconSize: 'pager',
    // 查询条件
    queryParams: function (params) {
            var hasDealWithVal = $('#hasDealWithId').val();
            var temp = {
                hasDealWith: hasDealWithVal,
                pageNo: params.offset/params.limit +1,
                pageSize: params.limit
            };
            // 时间
            var startDateVal = $('#startDateId').val();
            if (startDateVal){
                startDateVal = dateFormat(new Date(startDateVal), 'yyyy/MM/dd');
                temp.startDate = startDateVal
            }
            var endDateVal = $('#endDateId').val();
            if (endDateVal){
                endDateVal = dateFormat(new Date(endDateVal), 'yyyy/MM/dd');
                temp.endDate = endDateVal;
            }
            return temp;
        },
    // 列
    columns: columns,
    onLoadSuccess: function (res) {
        // 加载成功时
        console.log(res);
    }, onLoadError: function (statusCode) {
        return "加载失败了"
    }, formatLoadingMessage: function () {
        // 正在加载
        return "拼命加载中...";
    }, formatNoMatches: function () {
        // 没有匹配的结果
        return '无符合条件的记录';
    }
});


服务器端分页

服务器端分页,需要使用 responseHandler 设置 total 和 rows

responseHandler: function (res) {
            var temp = {
                // 下面这两个参数是必须有的, 名称不能变
                // 总的数量
                total : res.total,
                // 数据
                rows : res.content
            };
            return temp;
        },


示例

// 初始化表格
var columns = [
    {field: 'selectItem', radio: true},
    {title: '反馈时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'},
    {title: '用户ID', field: 'createUser.id', visible: true, align: 'center', valign: 'middle'},
    {title: '用户名称', field: 'createUser.realName', visible: true, align: 'center', valign: 'middle'},
    {title: '用户反馈图片1', field: 'feedbackImgOne', visible: false, align: 'center', valign: 'middle'},
    {title: '用户反馈图片2', field: 'feedbackImgTwo', visible: false, align: 'center', valign: 'middle'},
    {title: '用户反馈图片3', field: 'feedbackImgThree', visible: false, align: 'center', valign: 'middle'},
    {title: '用户反馈时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'},
    {title: '处理内容', field: 'dealWithContent', visible: true, align: 'center', valign: 'middle'},
    {
        title: '状态', field: 'hasDealWith', visible: true, align: 'center', valign: 'middle',
        formatter:function (value, row, index) {
            if(value==0) return "未处理";
            else return "已处理";
        }
    },
    {title: '操作',field:'ID', visible: true, align: 'center', valign: 'middle',
        formatter: function () {
            return '<button  type="button" onClick="#"  class="btn btn-xs btn-primary" data-toggle="modal" data-target="#consumeModal">处理</button>';
        }}
];
function tableFun(queryParams){
    //先销毁表格
    $('#tableId').bootstrapTable('destroy');
    //初始化表格
    $('#tableId').bootstrapTable({
        //表格参数
        //请求地址,此处数据为本地加载
        url: Feng.ctxPath + "/opinion-feedback/query-opinion-feedback",
        //请求方式
        method: "get",
        //请求内容类型
        contentType: "application/x-www-form-urlencoded",
        //数据类型
        dataType: "json",
        //是否显示行间隔色
        striped: true,
        //是否启用排序
        sortable: true,
        //排序方式
        sortOrder: "asc",
        //是否使用缓存
        cache: false,
        //每行的唯一标识
        // uniqueId: "id",
        //指定工具栏
        toolbar: "#toolbar",
        //显示刷新按钮
        showRefresh: false,
        //切换显示样式
        showToggle: false,
        //默认显示详细视图
        cardView: false,
        //是否显示搜索
        // search: true,
        //是否显示分页
        pagination: true,
        //是否启用点击选中行
        clickToSelect: true,
        //最少要显示的列数
        // minimumCountColumns: 2,
        //显示隐藏列
        showColumns: false,
        //cell没有值时显示
        undefinedText: '-',
        //分页方式:client客户端分页,server服务端分页
        /*               指定。注意,这两种后台传过来的json数据格式也不一样
                    client : 正常的json array格式 [{},{},{}]
                    server: {“total”:0,”rows”:[]} 其中total表示查询的所有数据条数,后面的rows是指当前页面展示的数据量。*/
        sidePagination: "server",
        //查询条件
        queryParams: function (params) {
            var hasDealWithVal = $('#hasDealWithId').val();
            var temp = {
                hasDealWith: hasDealWithVal,
                pageNo: params.offset/params.limit +1,
                pageSize: params.limit
            };
            // 时间
            var startDateVal = $('#startDateId').val();
            if (startDateVal){
                startDateVal = dateFormat(new Date(startDateVal), 'yyyy/MM/dd');
                temp.startDate = startDateVal
            }
            var endDateVal = $('#endDateId').val();
            if (endDateVal){
                endDateVal = dateFormat(new Date(endDateVal), 'yyyy/MM/dd');
                temp.endDate = endDateVal;
            }
            return temp;
        },
        // 请求成功后,渲染表格
        responseHandler: function (res) {
            var temp = {
                // 下面这两个参数是必须有的, 名称不能变
                // 总的数量
                total : res.total,
                // 数据
                rows : res.content
            };
            return temp;
        },
        //每页的记录行数
        pageSize: 20,
        //初始化加载第1页,默认第1页
        pageNumber: 1,
        //可供选择的每页的行数
        pageList: "[10, 20, 50, 80, 100]",
        paginationFirstText: "首页",
        paginationPreText: "上一页",
        paginationNextText: "下一页",
        paginationLastText: "末页",
        paginationLoop: false, // 分页条无限循环,默认为true
        //按钮样式
        buttonsClass: 'btn',
        //分页器class
        iconSize: 'pager',
        //查询条件
        queryParams: queryParams,
        //列参数
        //表头
        columns: columns,
        onLoadSuccess: function (res) {//可不写
            //加载成功时
            console.log(res);
        }, onLoadError: function (statusCode) {
            return "加载失败了"
        }, formatLoadingMessage: function () {
            //正在加载
            return "拼命加载中...";
        }, formatNoMatches: function () {
            //没有匹配的结果
            return '无符合条件的记录';
        }
    });
}
// 初始化请求数据
$(function () {
    var temp = {
        hasDealWith: 0
    };
    tableFun(temp)
});


目录
相关文章
|
5月前
|
前端开发 JavaScript
Bootstrap Table写一个Demo
Bootstrap Table写一个Demo
32 0
|
5月前
|
JSON 前端开发 JavaScript
表格插件-bootstrap table的使用示例
表格插件-bootstrap table的使用示例
35 0
|
12月前
|
JSON 前端开发 JavaScript
Bootstrap Bootstrap表格插件bootstrap-table配置与应用小结 2
Bootstrap Bootstrap表格插件bootstrap-table配置与应用小结
140 0
|
12月前
|
存储 JSON 前端开发
Bootstrap Bootstrap表格插件bootstrap-table配置与应用小结3
Bootstrap Bootstrap表格插件bootstrap-table配置与应用小结3
119 0
|
12月前
|
JSON 前端开发 JavaScript
Bootstrap Bootstrap表格插件bootstrap-table配置与应用小结 1
Bootstrap Bootstrap表格插件bootstrap-table配置与应用小结
242 0
|
Web App开发 前端开发 JavaScript
Bootstrap系列 -- 1. 如何使用Bootstrap
一. Bootstrap 简介   Bootstrap 是一个前端框架,使用Bootstrap可以做出很多漂亮的页面,中文官网:http://www.bootcss.com/    二. Bootstrap核心    Bootstrap核心是Bootstrap.
1194 0
|
前端开发
bootstrap table本地数据使用方法
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gisdoer/article/details/81530328 bootstrap...
3026 0
|
前端开发
bootstrap-table教程演示
Bootstrap Admin 效果展示 Table of contents Create Remove Update Export Tree Create 相关插件 bootstrap-validator 演示 Remove 相关插件 boot...
2015 0
|
前端开发
Bootstrap学习笔记--表格
先来个总体概括: 还有一个响应式表 实践出真知: 类:.table 一个轻的填充物和只有水平分隔符。 看代码: Firstname L...
1268 0
|
JSON JavaScript 前端开发
bootstrap table 教程+x-editable
Bootstrap-table 快速入门---- bootstrap-table是一个基于Bootstrap的jQuery插件可以实现从数据库中提取数据到前端进行相应操作的功能 基于bootstrap-table的后台系统功能展示 ...
2345 0