您的位置:首页 > Web前端 > BootStrap

Bootstrap-table使用详细介绍

2016-12-09 10:51 387 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息