本文實例為大家分享了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實戰教程
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。