Bootstrap Table從零開(kāi)始
本文博主將從零開(kāi)始,一步一步的告訴大家如何在前端用bootstrap Table插件展示一個(gè)表格
首先,要下載bootstrap Table插件所必須的js,地址:https://github.com/wenzhixin/bootstrap-table
官方文檔地址:http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/
本文項(xiàng)目地址:bootstraptable
本文需要注意點(diǎn)地方博主已用紅筆圈起來(lái)
先展示效果圖

接下來(lái)就開(kāi)始使用bootstrap Table插件制作表格
將上述地址下載的插件js放到項(xiàng)目中,分別為js,css,fonts

此處有一個(gè)細(xì)節(jié):locale文件夾的名字不能修改,而且里邊的所有語(yǔ)言js,必須全部粘過(guò)來(lái)
本文以MVC為例,當(dāng)然WebForm也是可以的
使用步驟:
1、新建一個(gè)控制器和視圖,該視圖引用了_Layout母頁(yè)版
2、在視圖里引用相應(yīng)的js

在頁(yè)面上寫(xiě)一個(gè)table表格容器,這一句必須要有
<table id="ArbetTable"></table>
3、初始化bootstrap Table
$(function () {
//1.初始化Table
var oTable = new TableInit();
oTable.Init();
});
4、使用bootstrap Table
var TableInit = function () {
var oTableInit = new Object();
//初始化Table
oTableInit.Init = function () {
$('#ArbetTable').bootstrapTable({
url: '/Interface/GetData', //請(qǐng)求后臺(tái)的URL(*)
method: 'get', //請(qǐng)求方式(*)
toolbar: '#toolbar', //工具按鈕用哪個(gè)容器
striped: true, //是否顯示行間隔色
cache: false, //是否使用緩存,默認(rèn)為true,所以一般情況下需要設(shè)置一下這個(gè)屬性(*)
pagination: true, //是否顯示分頁(yè)(*)
sortable: false, //是否啟用排序
sortOrder: "asc", //排序方式
queryParams: oTableInit.queryParams,//傳遞參數(shù)(*)
sidePagination: "server", //分頁(yè)方式:client客戶端分頁(yè),server服務(wù)端分頁(yè)(*)
pageNumber: 1, //初始化加載第一頁(yè),默認(rèn)第一頁(yè)
pageSize: 10, //每頁(yè)的記錄行數(shù)(*)
pageList: [10, 25, 50, 100], //可供選擇的每頁(yè)的行數(shù)(*)
search: true, //是否顯示表格搜索,此搜索是客戶端搜索,不會(huì)進(jìn)服務(wù)端,所以,個(gè)人感覺(jué)意義不大
contentType: "application/x-www-form-urlencoded",
strictSearch: true,
showColumns: true, //是否顯示所有的列
showRefresh: true, //是否顯示刷新按鈕
minimumCountColumns: 2, //最少允許的列數(shù)
clickToSelect: true, //是否啟用點(diǎn)擊選中行
height: 700, //行高,如果沒(méi)有設(shè)置height屬性,表格自動(dòng)根據(jù)記錄條數(shù)覺(jué)得表格高度
uniqueId: "no", //每一行的唯一標(biāo)識(shí),一般為主鍵列
showToggle: true, //是否顯示詳細(xì)視圖和列表視圖的切換按鈕
cardView: false, //是否顯示詳細(xì)視圖
detailView: false, //是否顯示父子表
columns: [
{
field: 'ID',
title: 'ID'
}, {
field: 'Name',
title: '名字'
}, {
field: 'Sex',
title: '性別'
},
{
field: 'operate',
title: '操作',
formatter: operateFormatter //自定義方法,添加操作按鈕
},
],
rowStyle: function (row, index) {
var classesArr = ['success', 'info'];
var strclass = "";
if (index % 2 === 0) {//偶數(shù)行
strclass = classesArr[0];
} else {//奇數(shù)行
strclass = classesArr[1];
}
return { classes: strclass };
},//隔行變色
});
};
//得到查詢的參數(shù)
oTableInit.queryParams = function (params) {
var temp = { //這里的鍵的名字和控制器的變量名必須一直,這邊改動(dòng),控制器也需要改成一樣的
limit: params.limit, //頁(yè)面大小
offset:params.offset
};
return temp;
};
return oTableInit;
};
function operateFormatter(value, row, index) {//賦予的參數(shù)
return [
'<a class="btn active disabled" href="#">編輯</a>',
'<a class="btn active" href="#">檔案</a>',
'<a class="btn btn-default" href="#">記錄</a>',
'<a class="btn active" href="#">準(zhǔn)入</a>'
].join('');
}
5、后臺(tái)url返回?cái)?shù)據(jù)
public ActionResult GetData(int limit, int offset)
{
var data = new List<object>(){new { ID=1, Name="Arbet", Sex="男"},
new { ID= 2, Name="Arbet1", Sex="女" },
new {ID=3, Name="Arbet2",Sex="男" },
new {ID=4, Name="Arbet3",Sex="女" },
new {ID=5, Name="Arbet4",Sex="男" },
new {ID=6, Name="Arbet5",Sex="男" },
new {ID=7, Name="Arbet6",Sex="女" },
new {ID=8, Name="Arbet7",Sex="男" },
new { ID=9, Name="Arbet1", Sex="女" },
new {ID=10, Name="Arbet2",Sex="男" },
new {ID=11, Name="Arbet3",Sex="女" },
new {ID=12, Name="Arbet4",Sex="男" },
new {ID=13, Name="Arbet5",Sex="男" },
new {ID=14, Name="Arbet6",Sex="女" },
new {ID=15, Name="Arbet7",Sex="男" }
};
var total = data.Count;
var rows = data.Skip(offset).Take(limit).ToList();
return Json(new { total = total, rows = rows }, JsonRequestBehavior.AllowGet);
}
在本文中,博主以匿名集合來(lái)設(shè)置數(shù)據(jù),大家可以通過(guò)查詢數(shù)據(jù)庫(kù)獲取數(shù)據(jù)
在此需要注意:返回的參數(shù)必須是total和rows,total返回?cái)?shù)據(jù)集總個(gè)數(shù),rows返回table的json格式
6、展示效果

發(fā)現(xiàn)出現(xiàn)了這個(gè)bug,這是怎么回事
在瀏覽器上打開(kāi)源代碼

發(fā)現(xiàn)多了一些其他js文件,這是layout母頁(yè)版里引入的js文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
@RenderBody()
@*@Scripts.Render("~/bundles/jquery")*@
@RenderSection("scripts", required: false)
</body>
</html>
把上圖中的紅框里的js文件注釋掉再運(yùn)行

發(fā)現(xiàn)成功了!這是因?yàn)镴S庫(kù)文件的引用是有順序的,必須先引用JQuery庫(kù)文件,再引用插件js
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JS表格組件神器bootstrap table詳解(基礎(chǔ)版)
- Bootstrap Table使用方法詳解
- JS組件Bootstrap Table使用方法詳解
- bootstrap table 服務(wù)器端分頁(yè)例子分享
- Bootstrap Table的使用總結(jié)
- BootStrap table表格插件自適應(yīng)固定表頭(超好用)
- 第一次動(dòng)手實(shí)現(xiàn)bootstrap table分頁(yè)效果
- Bootstrap嵌入jqGrid,使你的table牛逼起來(lái)
- Bootstrap table分頁(yè)問(wèn)題匯總
- BootStrap 可編輯表Table格
相關(guān)文章
js實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能,制作能進(jìn)行加減乘除的計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10
解決JavaScript精度問(wèn)題的常見(jiàn)方法
在 JavaScript 中,處理浮點(diǎn)數(shù)時(shí)經(jīng)常會(huì)遇到精度丟失的問(wèn)題,這是由于 JavaScript 內(nèi)部采用 IEEE 754 標(biāo)準(zhǔn)表示浮點(diǎn)數(shù),導(dǎo)致某些小數(shù)無(wú)法精確表示,本文將介紹一些常見(jiàn)的方法來(lái)解決 JavaScript 中的精度問(wèn)題,并討論它們的優(yōu)缺點(diǎn),需要的朋友可以參考下2024-05-05
xmlplus組件設(shè)計(jì)系列之選項(xiàng)卡(Tabbar)(5)
xmlplus 是一個(gè)JavaScript框架,用于快速開(kāi)發(fā)前后端項(xiàng)目。這篇文章主要介紹了xmlplus組件設(shè)計(jì)系列之選項(xiàng)卡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
使用classList來(lái)實(shí)現(xiàn)兩個(gè)按鈕樣式的切換方法
下面小編就為大家分享一篇使用classList來(lái)實(shí)現(xiàn)兩個(gè)按鈕樣式的切換方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
詳解javascript傳統(tǒng)方法實(shí)現(xiàn)異步校驗(yàn)
這篇文章主要為大家介紹了javascript實(shí)現(xiàn)異步校驗(yàn)的方法,感興趣的小伙伴們可以參考一下2016-01-01
靈活應(yīng)用js調(diào)試技巧解決樣式問(wèn)題的步驟分享
在很多時(shí)候,前端開(kāi)發(fā)人員使用JS腳本,對(duì)頁(yè)面Dom結(jié)構(gòu)或者是樣式做出了修改,會(huì)造成一些意想不到的bug2012-03-03
JS實(shí)現(xiàn)查找數(shù)組中對(duì)象的屬性值是否存在示例
這篇文章主要介紹了JS實(shí)現(xiàn)查找數(shù)組中對(duì)象的屬性值是否存在,涉及javascript針對(duì)json數(shù)組的遍歷、查找相關(guān)操作技巧,需要的朋友可以參考下2019-05-05
JS如何判斷移動(dòng)端訪問(wèn)設(shè)備并解析對(duì)應(yīng)CSS
本文為大家詳細(xì)介紹下JS如何判斷移動(dòng)端訪問(wèn)設(shè)備并解析對(duì)應(yīng)CSS,感興趣的朋友可以參考下2013-11-11
JavaScript如何將時(shí)間戳轉(zhuǎn)化為年月日時(shí)分秒格式
這篇文章主要給大家介紹了關(guān)于JavaScript如何將時(shí)間戳轉(zhuǎn)化為年月日時(shí)分秒格式的相關(guān)資料,在前端的日常工作當(dāng)中,時(shí)間戳的使用也是不少的,有時(shí)后端返回給我們的數(shù)據(jù)是一個(gè)時(shí)間戳,我們需要轉(zhuǎn)換成年月日,時(shí)分秒的形式展示在頁(yè)面當(dāng)中,需要的朋友可以參考下2023-11-11

