Bootstrap Table

Bootstrap Table是基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选、多选、排序、分页,以及编辑、导出、过滤(扩展)等等的功能。 http://bootstrap-table.wenzhixin.net.cn/zh-cn/

使用:

①.引入需要的JS和CSS

<link rel="stylesheet" href="${basePath}/css/bootstrap..css">
<link rel="stylesheet" href="${basePath}/css/bootstrap-table/bootstrap-table.css">

<script src="${basePath}/js/jquery.min.js"></script>
<script src="${basePath}/js/bootstrap.min.js"></script>
<script src="${basePath}/js/plugins/bootstrap-table/bootstrap-table.min.js"></script>
<script src="${basePath}/js/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"></script>
<script src="${basePath}/js/plugins/bootstrap-table/bootstrap-table-export.js"></script>
<script src="${basePath}/js/plugins/bootstrap-table/tableExport.js"></script>

②.定义一个空的table

<body>
    <div class="row base-margin" id="query">
        <ol class="breadcrumb">
            <li><strong><span style="color: #27a0d7">用户列表</span></strong></li>
        </ol>
        <form class="form-inline" role="form" style="float: left; width: 100%" method="post" id="queryForm">
            <div class="form-group">
                <label for="orgCode">部门:</label> 
                <select class="form-control" id="orgCode" name="orgCode">   
                    <option value="">默认选择</option>
                    <c:forEach var="data" items="${orgList}">
                        <option value="${data.orgCode }">${data.orgName }</option>
                    </c:forEach>
                </select>
            </div>
            <div class="form-group">
                <label for="userName">名称:</label> 
                <input type="text" class="form-control" name="userName" id="userName"  placeholder="请输入名称">
            </div>
            <div class="form-group">
                <label >日期:</label>
                <input placeholder="开始日期" class="form-control layer-date" id="startDate" name="startDate">
                <input placeholder="结束日期" class="form-control layer-date" id="endDate" name="endDate">
            </div>
            <div class="form-group">
                <button type="button" id="queryBtn" onclick="doQuery();" class="btn btn-primary">查询</button>
            </div>
            <div class="form-group btn-right">
                <button type="button" class="btn btn-primary" id="addBtn" onclick="addUser();">新增用户</button>
            </div>
        </form>
    </div>
    <div class="container" style="width: 100%">
        <table id="demo-table">
        </table>
    </div>
</body>

③.初始化table表格(建议把初始化的JS代码写到另外的自定义js页面中,代码还挺长的),具体的各个参数可以查看API。

<script type="text/javascript">
$(function () {
    initTable();
    initDate();
});

function doQuery(params){
    $('#demo-table').bootstrapTable('refresh');    //刷新表格
}

function initTable(){
    var url = "user.do?method=listUsers&random="+Math.random();
    $('#demo-table').bootstrapTable({
        method:'POST',
        dataType:'json',
        contentType: "application/x-www-form-urlencoded",
        cache: false,
        striped: true,                              //是否显示行间隔色
        sidePagination: "server",           //分页方式:client客户端分页,server服务端分页(*)
        url:url,
        height: $(window).height() - 110,
        width:$(window).width(),
        showColumns:true,
        pagination:true,
        queryParams : queryParams,
        minimumCountColumns:2,
        pageNumber:1,                       //初始化加载第一页,默认第一页
               pageSize: 20,                       //每页的记录行数(*)
              pageList: [10, 25, 50, 100],        //可供选择的每页的行数(*)
              uniqueId: "id",                     //每一行的唯一标识,一般为主键列
        showExport: true,                    
        exportDataType: 'all',
        responseHandler: responseHandler,
        columns: [
        {
            field: '',
                    title: 'Sort No.',
                    formatter: function (value, row, index) {
                    return index+1;
             }
        },
        {
            field : 'id',
            title : 'User ID',
            align : 'center',
            valign : 'middle',
            sortable : true
        }, {
            field : 'institutionCode',
            title : 'Institution Code',
            align : 'center',
            valign : 'middle',
            sortable : true
        }, {
            field : 'institutionName',
            title : 'Institution Name',
            align : 'center',
            valign : 'middle'
        }, {
            field : 'loginId',
            title : 'Login Name',
            align : 'center',
            valign : 'middle',
            sortable : true
        }, {
            field : 'realName',
            title : 'Real Name',
            align : 'center',
            valign : 'middle'
        }, {
            field : 'createTime',
            title : 'Create Time',
            align : 'center',
            valign : 'left',
            formatter : function (value, row, index){
                return new Date(value).format('yyyy-MM-dd hh:mm:ss');
            }
        }, {
            field : 'homeAddress',
            title : 'Address',
            align : 'center',
            valign : 'middle'
        }]
    });
}

function initDate(){
    var start = {
            elem: '#startDate',
            format: 'YYYY-MM-DD hh:mm:ss',
            min: laydate.now(-7),       
            max: laydate.now(),
            istime: true,
            istoday: false,
            choose: function (datas) {
                end.min = datas; //开始日选好后,重置结束日的最小日期
                end.start = datas //将结束日的初始值设定为开始日
            }
        };
        var end = {
            elem: '#endDate',
            format: 'YYYY-MM-DD hh:mm:ss',
            min: laydate.now(-7),       
            max: laydate.now(),
            istime: true, //是否开启时间选择
            isclear: true, //是否显示清空
            istoday: true, //是否显示今天
            issure: true, //是否显示确认
            choose: function (datas) {
                start.max = datas; //结束日选好后,重置开始日的最大日期
            }
        };
        laydate(start);
        laydate(end);
}

function queryParams(params) {
    var param = {
        orgCode : $("#orgCode").val(),
        userName : $("#userName").val(),
        startDate : $("#startDate").val(),
        endDate : $("#endDate").val(),
        limit : this.limit, // 页面大小
        offset : this.offset, // 页码
        pageindex : this.pageNumber,
        pageSize : this.pageSize
    }
    return param;
} 

// 用于server 分页,表格数据量太大的话 不想一次查询所有数据,可以使用server分页查询,数据量小的话可以直接把sidePagination: "server"  改为 sidePagination: "client" ,同时去掉responseHandler: responseHandler就可以了,
function responseHandler(res) { 
    if (res) {
        return {
            "rows" : res.result,
            "total" : res.totalCount
        };
    } else {
        return {
            "rows" : [],
            "total" : 0
        };
    }
}
</script>

④. Controller(后台用的是Spring框架)

    @ResponseBody
    @RequestMapping(params = "method=listUsers")
    public Object listUsers(UserForm form) {
        int totalCount = userService.getTotalCount(form);
        if(totalCount > 0){
            BasePageResult<User> result = new BasePageResult<User>();
            form.setBeginNum(((form.getPageindex()-1)*form.getPageSize()));
            form.setEndNum((form.getPageindex()*form.getPageSize()));
            List<User> user = userService.getUserList2(form);
            result.setTotalCount(totalCount);
            result.setResult(user);
            return result;
        }
        return null;
    }

⑤. 附上最终的表格
这里写图片描述

还有就是你们想看后台的,https://github.com/Jstarfish/starfish-demo
这个是我学shiro的时候写的一个例子,用的就是这个,你们可以跳过shiro部分,只看列表的实现。

参考: http://www.jb51.net/article/76030.htm

  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 46
    评论
### 回答1: Bootstrap Table 是一个基于 Bootstrap 的可扩展的表格插件,它允许您使用 AJAX 数据源来轻松地显示、排序、搜索、分页和编辑数据表格。 Bootstrap Table 可以让您快速地创建并定制彼此独立的表格,这些表格可以应用于各种不同的场景中,比如报告、数据分析、管理面板等等。此外,Bootstrap Table 还提供了许多有用的特性和功能,比如排序、分页、搜索、多选、单选、详细视图、卡片视图等等。总之,Bootstrap Table 是一个非常强大和灵活的表格插件,适用于各种不同的项目和场景。 ### 回答2: BootstrapTable是一种强大的基于Bootstrap框架的表格插件,它可以帮助我们轻松地创建美观而功能丰富的数据表格。它提供了许多有用的功能,包括排序、搜索、分页等,可以满足我们处理大量数据的需求。 使用BootstrapTable非常简便。我们只需导入相关的CSS和JS文件,然后在HTML中创建一个表格容器,通过调用BootstrapTable的初始化方法即可将一个普通的表格转变为功能强大的BootstrapTable表格。我们可以通过设置不同的参数来自定义表格的外观和功能。 BootstrapTable提供了许多可选的插件和扩展,使我们能够根据项目需求添加更多的功能。例如,可通过引入扩展插件来实现导出表格数据、多语言支持、可编辑表格等功能。 使用BootstrapTable,我们可以很方便地对表格进行排序、搜索和分页等操作。内置的搜索功能可以帮助我们快速定位所需的数据,而分页功能可以使我们在处理大量数据时保持页面的清晰和快速响应。 总之,BootstrapTable是一个非常实用和灵活的表格插件,它可以帮助我们展示和处理数据,提升用户体验和开发效率。无论是小型网站还是大型数据管理系统,BootstrapTable都是一个不错的选择。 ### 回答3: Bootstrap Table 是一款基于 Bootstrap 框架的表格插件,它提供了一种简便易用的方法来创建和管理动态表格。使用 Bootstrap Table,可以很方便地向网页中添加数据表格并进行各种操作,如排序、筛选、分页等。 Bootstrap Table 的优点主要有以下几个方面:首先,使用 Bootstrap Table 可以快速地创建和定制表格,无需编写复杂的 HTML 和 CSS 代码,只需要简单配置就能实现各种功能。其次,Bootstrap Table 具有良好的兼容性,可以在各种设备和浏览器中正常运行,并且提供了响应式布局,在移动设备上也能提供良好的用户体验。此外,Bootstrap Table 还支持多种插件和扩展,如筛选器、排序器、分页控件等,可以根据项目需要进行灵活扩展和定制。 Bootstrap Table 的使用也非常简单。只需要引入相应的 CSS 和 JS 文件,然后在 HTML 中添加表格元素,并通过 JavaScript 初始化和配置表格即可。通过设置相应的属性和方法,可以定制表格的样式、数据源、分页设置等。此外,还可以通过 Bootstrap Table 提供的 API 方法来动态地操作和修改表格的内容和样式。 总的来说,Bootstrap Table 是一款简单易用的表格插件,适用于各种项目的数据展示和管理需求。它具有丰富的功能和扩展性,能够提供灵活定制的数据表格,使网页的数据展示更加美观和易用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 46
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值