本文實例為大家分享了BootStrap table的使用方法,供大家參考,具體內容如下
bootstrap table git address:https://github.com/wenzhixin/bootstrap-table
引入文件
<link rel="stylesheet" href="../bower_components/bootstrap/dist/css/bootstrap.min.css"/> <link rel="stylesheet" href="../bower_components/bootstrap-table-develop/dist/bootstrap-table.min.css"/> <script type="text/javascript" src="../bower_components/jquery/dist/jquery.min.js"></script> <script type="text/javascript" src="../bower_components/bootstrap/dist/js/bootstrap.min.js"></script> <script type="text/javascript" src="../bower_components/bootstrap-table-develop/dist/bootstrap-table.js"></script> <script type="text/javascript" src="../bower_components/bootstrap-table-develop/dist/locale/bootstrap-table-zh-CN.js"></script>
使用方式
<table data-toggle="table" data-url="data.json"> <thead> ... </thead> </table>
or
<table id="table" class="mychar1-table"></table>
$('#table').bootstrapTable({
url: 'data.json'
});
第二種更好理解點:
var $table = $('#mychart1');
$table.bootstrapTable({
url: reqprojectname_w+'list/spectrumlist',
dataType: "json",
toolbar: '#toolbar', //工具按鈕用哪個容器
striped: true, //是否顯示行間隔色
singleSelect: false,
pagination: true, //分頁
pageNumber:1, //初始化加載第一頁,默認第一頁
pageSize: 10, //每頁的記錄行數(*)
pageList: [10, 25, 50, 100], //可供選擇的每頁的行數(*)
search: false, //顯示搜索框
sidePagination: "server", //服務端處理分頁
columns: [{
field: 'id',
title: '序號'
}, {
field: 'liushuiid',
title: '交易編號'
}, {
field: 'orderid',
title: '訂單號'
}, {
field: 'receivetime',
title: '交易時間'
}, {
field: 'price',
title: '金額'
}, {
field: 'coin_credit',
title: '投入硬幣'
}, {
field: 'bill_credit',
title: '投入紙幣'
}, {
field: 'changes',
title: '找零'
}, {
field: 'tradetype',
title: '交易類型'
},{
field: 'goodmachineid',
title: '貨機號'
},{
field: 'inneridname',
title: '貨道號'
},{
field: 'goodsName',
title: '商品名稱'
}, {
field: 'changestatus',
title: '支付'
},{
field: 'sendstatus',
title: '出貨'
},
{
title: '操作',
field: 'id',
align: 'center',
formatter:function(value,row,index){
var e = '<a href="#" mce_href="#" onclick="edit(\''+ row.id + '\')">編輯</a> ';
var d = '<a href="#" mce_href="#" onclick="del(\''+ row.id +'\')">刪除</a> ';
return e+d;
}
}
]
});
詳細介紹
$(function () {
//1.初始化Table
var oTable = new TableInit();
oTable.Init();
//2.初始化Button的點擊事件
/* var oButtonInit = new ButtonInit();
oButtonInit.Init(); */
});
var TableInit = function () {
var oTableInit = new Object();
//初始化Table
oTableInit.Init = function () {
$('#tradeList').bootstrapTable({
url: '/VenderManager/TradeList', //請求後台的URL(*)
method: 'post', //請求方式(*)
toolbar: '#toolbar', //工具按鈕用哪個容器
striped: true, //是否顯示行間隔色
cache: false, //是否使用緩存,默認為true,所以一般情況下需要設置一下這個屬性(*)
pagination: true, //是否顯示分頁(*)
sortable: false, //是否啟用排序
sortOrder: "asc", //排序方式
queryParams: oTableInit.queryParams,//傳遞參數(*)
sidePagination: "server", //分頁方式:client客戶端分頁,server服務端分頁(*)
pageNumber:1, //初始化加載第一頁,默認第一頁
pageSize: 50, //每頁的記錄行數(*)
pageList: [10, 25, 50, 100], //可供選擇的每頁的行數(*)
strictSearch: true,
clickToSelect: true, //是否啟用點擊選中行
height: 460, //行高,如果沒有設置height屬性,表格自動根據記錄條數覺得表格高度
uniqueId: "id", //每一行的唯一標識,一般為主鍵列
cardView: false, //是否顯示詳細視圖
detailView: false, //是否顯示父子表
columns: [{
field: 'id',
title: '序號'
}, {
field: 'liushuiid',
title: '交易編號'
}, {
field: 'orderid',
title: '訂單號'
}, {
field: 'receivetime',
title: '交易時間'
}, {
field: 'price',
title: '金額'
}, {
field: 'coin_credit',
title: '投入硬幣'
}, {
field: 'bill_credit',
title: '投入紙幣'
}, {
field: 'changes',
title: '找零'
}, {
field: 'tradetype',
title: '交易類型'
},{
field: 'goodmachineid',
title: '貨機號'
},{
field: 'inneridname',
title: '貨道號'
},{
field: 'goodsName',
title: '商品名稱'
}, {
field: 'changestatus',
title: '支付'
},{
field: 'sendstatus',
title: '出貨'
},]
});
};
//得到查詢的參數
oTableInit.queryParams = function (params) {
var temp = { //這裡的鍵的名字和控制器的變量名必須一直,這邊改動,控制器也需要改成一樣的
limit: params.limit, //頁面大小
offset: params.offset, //頁碼
sdate: $("#stratTime").val(),
edate: $("#endTime").val(),
sellerid: $("#sellerid").val(),
orderid: $("#orderid").val(),
CardNumber: $("#CardNumber").val(),
maxrows: params.limit,
pageindex:params.pageNumber,
portid: $("#portid").val(),
CardNumber: $("#CardNumber").val(),
tradetype:$('input:radio[name="tradetype"]:checked').val(),
success:$('input:radio[name="success"]:checked').val(),
};
return temp;
};
return oTableInit;
};
請求參數
oTableInit.queryParams = function (params) {
var temp = { //這裡的鍵的名字和控制器的變量名必須一直,這邊改動,控制器也需要改成一樣的
limit: params.limit, //第幾條記錄
offset: params.offset, //顯示一頁多少記錄
sdate: $("#stratTime").val(),
};
return temp;
};
後台拼裝測試數據
JSONArray jsonData=new JSONArray();
JSONObject jo=null;
for (int i=0,len=10;i<len;i++){
jo=new JSONObject();
jo.put("id", i+(j++));
jo.put("liushuiid", i+1);
jo.put("price", 100);
jo.put("mobilephone",10);
jo.put("receivetime", 10);
jo.put("tradetype", 10);
jo.put("changestatus", "成功");
jo.put("sendstatus", "失敗");
jo.put("bill_credit", 10);
jo.put("goodroadid", 10);
jo.put("SmsContent", 10);
jo.put("orderid", 10);
jo.put("goodsName", 10);
jo.put("inneridname", 10);
jo.put("xmlstr", 10);
jsonData.add(jo);
}
int TotalCount=97;
JSONObject jsonObject=new JSONObject();
jsonObject.put("rows", jsonData);//JSONArray
jsonObject.put("total",TotalCount);//總記錄數
分頁接收
int pageindex=0;
int offset = ToolBox.filterInt(json1.getString("offset"));
int limit = ToolBox.filterInt(json1.getString("limit"));
if(offset !=0){
pageindex = offset/limit;
}
pageindex+= 1;//第幾頁<br>...
分頁時BootStrap table 向後端傳遞兩個分頁字段:limit, offset ,前者表示每頁的個數,默認為10個,後者表示分頁時數據的偏移量。
而搜索時則向後端傳遞的是search字段,表示具體的搜索內容。
服務器端返回的數據中還要包括page(頁數),total(數據總量)兩個字段,前端要根據這兩個字段分頁。
如果大家還想深入學習,可以點擊這裡進行學習,再為大家附兩個精彩的專題:Bootstrap學習教程 Bootstrap實戰教程
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。