Bootstrap-table使用详细介绍

bootstrap-table是一个非常好用的表格插件,提供了很多工具及分页、搜索等功能。

首先我们需要下面几个文件,

<!-- bootstrap table -->
<script type="text/javascript" src="${pageContext.request.contextPath}/res/jquery-1.10.2/jquery.js"></script>
<!-- bootstrap -->
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/res/bootstrap/css/bootstrap.css"/>
<script type="text/javascript" src="${pageContext.request.contextPath}/res/bootstrap/js/bootstrap.js"></script>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/res/bootstrap-table/bootstrap-table.css"/>
<script type="text/javascript" src="${pageContext.request.contextPath}/res/bootstrap-table/bootstrap-table.js"></script>
<!-- bootstrap table中文包 -->
<script type="text/javascript" src="${pageContext.request.contextPath}/res/bootstrap-table/locale/bootstrap-table-zh-CN.js"></script>

中文包好像可以防止某些bug

如果你单独引入这些文件而导致样式出错,请下载完整的bootstrap-table

下面是bootstrap-table的加载

<script type="text/javascript">
$(function () {

    //1.初始化Table
    var oTable = new TableInit();
    oTable.Init();
});


var TableInit = function () {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        $('#tb_departments').bootstrapTable({
            url: '${pageContext.request.contextPath}/AlarmInfo/list',         //请求后台的URL(*)
            method: 'get',                      //请求方式(*)
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: false,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
            pagination: true,                   //是否显示分页(*)
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParams,//传递参数(*)
            sidePagination: "server",           //分页方式:client客户端分页,server服务端分页(*)
            pageNumber:1,                       //初始化加载第一页,默认第一页
            pageSize: 10,                       //每页的记录行数(*)
            pageList: [10, 25, 50, 100],        //可供选择的每页的行数(*)
            search: false,                       //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
            strictSearch: true,
            showColumns: true,                  //是否显示所有的列
            showRefresh: false,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 500,                        //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
            uniqueId: "id",                     //每一行的唯一标识,一般为主键列
            showToggle:true,                    //是否显示详细视图和列表视图的切换按钮
            cardView: true,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns: [{
                checkbox: true
            }, {
                field: 'Id',
                title: '编号'
            }, {
                field: 'Name',
                title: '姓名'
            }, {
                field: 'Type',
                title: '类型'
            },{
                field: 'Time',
                title: '时间'
            }
            
            ]
        });
    };

</script>

<head>
<body>
    <div class="panel-body" style="padding-bottom:0px;">
           <table id="tb_departments"></table>
       </div>
</body>
</head>



如果数据库中取出来的list需要加工一下再显示可以使用formatter:

{
                field: 'group',
                title: '用户组',
                formatter: function(value,row,index){
                     	if(value=="user"){
                     		return "普通用户组"
                     	}else if(value=="admin"){
                     		return "管理员组"
                     	}
                     }
            }


还可以在表格中加入js方法,以扩展功能:

{
                field: 'do',
                title: '操作',
                formatter: function(value,row,index){
                 var e ='<a href="#" mce_href="#" onclick="del(\''+ row.userName +'\')">删除</a> ';
                 return e;
                 
                 }

function del(a){
 	$.ajax({
 		type : "post",
 		url:"${pageContext.request.contextPath}/userinfo/deluser",
 		data:{username:a},
 		dataType : "json",
		success : function(result) {
			alert("成功删除用户:"+a);
			$.post("${pageContext.request.contextPath}/userinfo/alluser", {
				limit : 10, //页面大小
				offset : 1, //页码
			}, function(data){
				$('#tb_departments').bootstrapTable('load', data);
			});
			
		},
 		error : function(errorMsg) {
			//请求失败时执行该函数
			alert("失败!");
		}

 	});
 };


这些仅是bootstrap的简单配置,下面我会继续拓展。




关于bootstraptable的分页可以参考我这篇博客:

http://blog.csdn.net/qq_32715873/article/details/54016797

猜你喜欢

转载自blog.csdn.net/qq_32715873/article/details/53536097
今日推荐