原文地址:https://blog.csdn.net/javayoucome/article/details/80081771javascript
1.介绍
Bootstrap Table介绍见官网:http://bootstrap-table.wenzhixin.net.cn/zh-cn/css
Bootstrap 中文网:http://www.bootcss.com/ html
Bootstrap Table Demo:http://issues.wenzhixin.net.cn/bootstrap-table/index.htmljava
Bootstrap Table API:http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/jquery
Bootstrap Table源码:https://github.com/wenzhixin/bootstrap-tableandroid
Boostrap Table 扩展API:http://bootstrap-table.wenzhixin.net.cn/extensions/git
2.页面引用
为了方便bootstrap及bootstrap-table用官方推荐引用方式,想本身下载源码能够自行下载.github
导出Excel所需额外的4个js可从如下2个地址找到那4个文件,不须要导出的能够无视.web
下载地址 https://github.com/wenzhixin/bootstrap-table/tree/master/src/extensions/export数据库
https://github.com/hhurz/tableExport.jquery.plugin
-
-
-
<link href="https://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
-
<!-- 引入bootstrap-table样式 -->
-
<link href="https://cdn.bootcss.com/bootstrap-table/1.11.1/bootstrap-table.min.css" rel="stylesheet">
-
-
<!-- jquery及bootstrapjs -->
-
<script src="https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js"></script>
-
<script src="https://cdn.bootcss.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
-
-
<!-- bootstrap-table.min.js -->
-
<script src="https://cdn.bootcss.com/bootstrap-table/1.11.1/bootstrap-table.min.js"></script>
-
-
<script src="https://cdn.bootcss.com/bootstrap-table/1.11.1/locale/bootstrap-table-zh-CN.min.js"></script>
-
<!-- bootstrap-table-export数据导出---后面两个是Excel2007所须要的js -->
-
<script src="${basePath }/js/bootstrap-table-export.js"></script>
-
<script src="${basePath }/js/tableExport.min.js"></script>
-
<script src="${basePath }/js/xlsx.core.min.js"></script>
-
<script src="${basePath }/js/FileSaver.min.js"></script>
3.简单示例
3.1在html中定义一个table标签
<table id="table"></table>
3.2使用bootstrap-table有两种方式,第一种是:经过data属性的方法--由于不灵活不作过多演示.相似
-
<table data-toggle=
"table" data-url="data1.json">
-
-
-
<th data-field="id">Item ID</th>
-
<th data-field="name">Item Name</th>
-
<th data-field="price">Item Price</th>
-
-
-
3.3使用JavaScript方式,几乎全部使用bootstrap-table的全是以这种方式,学习bootstrap-table,就是学习它的API,介绍基本经常使用的API,详情请查看官方文档或看这个博主翻译的
页面引入如下js
-
$(
"#table").bootstrapTable({
-
url: base_path +
"/product/list",
-
-
-
sidePagination:
"server",
-
-
queryParams:
function (params) {
-
-
-
-
-
-
-
-
-
-
-
pageList: [
10, 25, 50, 100,'all'],
-
contentType:
"application/x-www-form-urlencoded",
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
field: 'specificationvalues',
-
-
-
-
-
-
-
-
-
-
-
onLoadSuccess: function(){
-
-
-
-
-
-
-
-
-
-
exportTypes:[
'excel','xlsx'],
-
-
-
-
-
-
-
excelstyles: ['background-color', 'color', 'font-size', 'font-weight'],
-
-
-
-
-
-
-
-
var sUserAgent = navigator.userAgent.toLowerCase();
-
var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
-
var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
-
var bIsMidp = sUserAgent.match(/midp/i) == "midp";
-
var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
-
var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
-
var bIsAndroid = sUserAgent.match(/android/i) == "android";
-
var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
-
var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
-
if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
-
-
-
-
-
须要注意的项
1.交易测试时分页先选择'client',由于分页是客户端的话,导出数据会方即可以随意定义'basic', 'all', 'selected'.若是分页是服务端的话即便选择'all导出的也是当前页('basic'),若是想导出所有话,能够先将页面显示条目数为所有,再导出当前页即就是所有数据了.
2.分页若是是服务端的话返回的json串必须包含2个数据,一个是"total"即全部数据条数.另外一个"rows"即"当前页"显示的内容.(见下图json串格式)

后台参考代码(以服务端分页为例,若是客户端分页先把方法参数去掉,再把for循环改为循环100次,后直接返回list便可)
-
-
@RequestMapping("/product")
-
public class TestController {
-
-
-
-
public Map<String,Object> listProduct(@RequestParam(value = "limit", required = false)Integer limit, @RequestParam(value = "offset", required = false)Integer offset) {
-
Map<String,Object> map =
new HashMap<>();
-
-
List<SkuExt> list =
new ArrayList<SkuExt>();
-
for (int i = offset; i < limit+offset; i++) {
-
SkuExt skuExt =
new SkuExt();
-
-
skuExt.setProductname(
"商品名称"+i);
-
skuExt.setCost(
new BigDecimal(i*100));
-
skuExt.setBrankname(
"品牌名称"+i);
-
skuExt.setSpecificationvalues(
"规格值是"+i);
-
skuExt.setAreaname(
"产地"+i);
-
-
-
-
-
-
--------------------------------------以上就是代码,效果以下------------------------------------------

showToggle:true这个属性的效果以下:

导出按钮效果以下:导出的按钮和下拉提示应该不是这样,是我本身改了里面内容文字,很好实现.

以上,纯手写,大神勿喷.