BootStrap table使用方法分析_javascript技巧

來源:互聯網
上載者:User

本文執行個體為大家分享了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實戰教程

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.