一、Bootstrap Table的引入
關(guān)于Bootstrap Table的引入,一般來說還是兩種方法:
1、直接下載源碼,添加到項目里面來。
由于Bootstrap Table是Bootstrap的一個組件,所以它是依賴Bootstrap的,我們首先需要添加Bootstrap的引用。
2、使用我們神奇的Nuget
打開Nuget,搜索這兩個包
Bootstrap已經(jīng)是最新的3.3.5了,我們直接安裝即可。
而Bootstrap Table的版本竟然是0.4,這也太坑爹了。所以博主建議Bootstrap Table的包就直接在源碼里面去下載吧。Bootstrap Table最新的版本好像是1.9.0。
本文背景引入:
最近客戶提出需求,想將原有的管理系統(tǒng),做下優(yōu)化,通過手機也能很好展現(xiàn),想到2個方案:
a方案:保留原有的頁面,新設(shè)計一套適合手機的頁面,當(dāng)手機訪問時,進入m.zhy.com(手機頁面),pc設(shè)備訪問時,進入www.zhy.com(pc頁面)
b方案:采用bootstrap框架,替換原有頁面,自動適應(yīng)手機、平板、PC 設(shè)備
采用a方案,需要設(shè)計一套界面,并且要得重新寫適合頁面的接口,考慮到時間及成本問題,故項目采用了b方案
二、效果展示
二、BootStrap table簡單介紹
bootStrap table 是一個輕量級的table插件,使用AJAX獲取JSON格式的數(shù)據(jù),其分頁和數(shù)據(jù)填充很方便,支持國際化
三、使用方法
1、引入js、css
<!--css樣式--> <link href="css/bootstrap/bootstrap.min.css" rel="stylesheet"> <link href="css/bootstrap/bootstrap-table.css" rel="stylesheet"> <!--js--> <script src="js/bootstrap/jquery-1.12.0.min.js" type="text/javascript"></script> <script src="js/bootstrap/bootstrap.min.js"></script> <script src="js/bootstrap/bootstrap-table.js"></script> <script src="js/bootstrap/bootstrap-table-zh-CN.js"></script>
2、table數(shù)據(jù)填充
bootStrap table獲取數(shù)據(jù)有兩種方式,一是通過table 的data-url屬性指定數(shù)據(jù)源,二是通過JavaScript初始化表格時指定url來獲取數(shù)據(jù)
<table data-toggle="table"> <thead> ... </thead> </table> ...
$('#table').bootstrapTable({ url: 'data.json' });
第二種方式較第一種而言在處理復(fù)雜數(shù)據(jù)時更為靈活,一般使用第二種方式來進行table數(shù)據(jù)填充。
$(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, //是否使用緩存,默認(rèn)為true,所以一般情況下需要設(shè)置一下這個屬性(*) pagination: true, //是否顯示分頁(*) sortable: false, //是否啟用排序 sortOrder: "asc", //排序方式 queryParams: oTableInit.queryParams,//傳遞參數(shù)(*) sidePagination: "server", //分頁方式:client客戶端分頁,server服務(wù)端分頁(*) pageNumber:1, //初始化加載第一頁,默認(rèn)第一頁 pageSize: 50, //每頁的記錄行數(shù)(*) pageList: [10, 25, 50, 100], //可供選擇的每頁的行數(shù)(*) strictSearch: true, clickToSelect: true, //是否啟用點擊選中行 height: 460, //行高,如果沒有設(shè)置height屬性,表格自動根據(jù)記錄條數(shù)覺得表格高度 uniqueId: "id", //每一行的唯一標(biāo)識,一般為主鍵列 cardView: false, //是否顯示詳細(xì)視圖 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: '出貨' },] }); }; //得到查詢的參數(shù) 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; };
field字段必須與服務(wù)器端返回的字段對應(yīng)才會顯示出數(shù)據(jù)。
3、后臺獲取數(shù)據(jù)
a、servlet獲取數(shù)據(jù)
BufferedReader bufr = new BufferedReader( new InputStreamReader(request.getInputStream(),"UTF-8")); StringBuilder sBuilder = new StringBuilder(""); String temp = ""; while((temp = bufr.readLine()) != null){ sBuilder.append(temp); } bufr.close(); String json = sBuilder.toString(); JSONObject json1 = JSONObject.fromObject(json); String sdate= json1.getString("sdate");//通過此方法獲取前端數(shù)據(jù) ...
b、springMvc Controller里面對應(yīng)的方法獲取數(shù)據(jù)
public JsonResult GetDepartment(int limit, int offset, string orderId, string SellerId,PortId,CardNumber,Success,maxrows,tradetype) { ... }
4、分頁(遇到問題最多的)
使用分頁,server端返回的數(shù)據(jù)必須包括rows和total,代碼如下:
...<br>gblst = SqlADO.getTradeList(sql,pageindex,maxrows); JSONArray jsonData=new JSONArray(); JSONObject jo=null; for (int i=0,len=gblst.size();i<len;i++) { TradeBean tb = gblst.get(i); if(tb==null) { continue; } jo=new JSONObject(); jo.put("id", i+1); jo.put("liushuiid", tb.getLiushuiid()); jo.put("price", String.format("%1.2f",tb.getPrice()/100.0)); jo.put("mobilephone", tb.getMobilephone()); jo.put("receivetime", ToolBox.getYMDHMS(tb.getReceivetime())); jo.put("tradetype", clsConst.TRADE_TYPE_DES[tb.getTradetype()]); jo.put("changestatus", (tb.getChangestatus()!=0)?"成功":"失敗"); jo.put("sendstatus", (tb.getSendstatus()!=0)?"成功":"失敗"); jo.put("bill_credit", String.format("%1.2f",tb.getBill_credit()/100.0)); jo.put("changes",String.format("%1.2f",tb.getChanges()/100.0)); jo.put("goodroadid", tb.getGoodroadid()); jo.put("SmsContent", tb.getSmsContent()); jo.put("orderid", tb.getOrderid()); jo.put("goodsName", tb.getGoodsName()); jo.put("inneridname", tb.getInneridname()); jo.put("xmlstr", tb.getXmlstr()); jsonData.add(jo); } int TotalCount=SqlADO.getTradeRowsCount(sql); JSONObject jsonObject=new JSONObject(); jsonObject.put("rows", jsonData);//JSONArray jsonObject.put("total",TotalCount);//總記錄數(shù) out.print(jsonObject.toString()); <br>...
5、分頁界面內(nèi)容介紹
前端獲取分頁數(shù)據(jù),代碼如下:
...<br>oTableInit.queryParams = function (params) { var temp = { //這里的鍵的名字和控制器的變量名必須一直,這邊改動,控制器也需要改成一樣的 limit: params.limit, //第幾條記錄 offset: params.offset, //顯示一頁多少記錄 sdate: $("#stratTime").val(), }; return temp; };<br>...
后端獲取分頁數(shù)據(jù),代碼如下:
...<br>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>...
以上就是本文的全部內(nèi)容,希望能夠幫助大家更好的學(xué)習(xí)JS表格組件神器bootstrap table。?
更多JS表格組件神器bootstrap table詳解(強化版)相關(guān)文章請關(guān)注PHP中文網(wǎng)!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

JavaScriptisidealForWebDevelopment, whersjavasuitslarge-scaleapplicationsandandroiddevelopment.1) javascriptexcelsincreatinginteractivewebexperiencesandfull-stackdevelopmentwithnode.js.2)

Dalam JavaScript, memilih satu-satunya komen (//) atau ulasan multi-line (//) bergantung kepada keperluan dan keperluan projek komen: 1. Gunakan komen satu baris untuk tafsiran cepat dan sebaris; 2. Gunakan komen berbilang baris untuk dokumentasi terperinci; 3. Mengekalkan konsistensi gaya komen; 4. Elakkan daripada annotasi; 5. Pastikan komen dikemas kini secara serentak dengan kod. Memilih gaya anotasi yang betul dapat membantu meningkatkan kebolehbacaan dan pemeliharaan kod anda.

Ya, JavaScriptcommentsareneraryAnderyShouldbeusedefectively.1) theguedevelopersthroughcodelogicandIntent, 2) arevitalincomplexprojects, and3) couldenhanceclaritywithoutclutterthecode.

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

Commentsarecrucialinjavascriptformaintainingclarityandfosteringcollaboration.1) theyhelpindebugging, onboarding, andunderstandingcodeevolution.2) menggunakan-linecommentsforquickexplanationsandmulti-linecommentsfordetaileddescriptions.3)

Javascripthasseveralprimitivedatatypes: nombor, rentetan, boolean, undefined, null, simbol, andbigint, dan non-primitivetypesliikeobjectandarray.UnderstheseiscialfritingFritingefisien, bug-freecode: 1) numberusesa64-fitformat, pemimpin-fitformat, pemimpin-fitformat

JavascripthassevenfundamentalDatypes: nombor, rentetan, boolean, undefined, null, objek, andsymbol.1) numberuseadouble-precisionformat, bergunaforwidevaluangesbutbecautiouswithfloating-pointarithmetic.2)
