国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 web前端 js教程 JS表格組件神器bootstrap table詳解(強(qiáng)化版)

JS表格組件神器bootstrap table詳解(強(qiáng)化版)

Jan 04, 2017 am 11:52 AM

一、Bootstrap Table的引入

關(guān)于Bootstrap Table的引入,一般來說還是兩種方法:

1、直接下載源碼,添加到項(xiàng)目里面來。
由于Bootstrap Table是Bootstrap的一個組件,所以它是依賴Bootstrap的,我們首先需要添加Bootstrap的引用。

2、使用我們神奇的Nuget
打開Nuget,搜索這兩個包

JS表格組件神器bootstrap table詳解(強(qiáng)化版)

Bootstrap已經(jīng)是最新的3.3.5了,我們直接安裝即可。

JS表格組件神器bootstrap table詳解(強(qiáng)化版)

而Bootstrap Table的版本竟然是0.4,這也太坑爹了。所以博主建議Bootstrap Table的包就直接在源碼里面去下載吧。Bootstrap Table最新的版本好像是1.9.0。

本文背景引入:

最近客戶提出需求,想將原有的管理系統(tǒng),做下優(yōu)化,通過手機(jī)也能很好展現(xiàn),想到2個方案:

a方案:保留原有的頁面,新設(shè)計(jì)一套適合手機(jī)的頁面,當(dāng)手機(jī)訪問時,進(jìn)入m.zhy.com(手機(jī)頁面),pc設(shè)備訪問時,進(jìn)入www.zhy.com(pc頁面)

b方案:采用bootstrap框架,替換原有頁面,自動適應(yīng)手機(jī)、平板、PC 設(shè)備

采用a方案,需要設(shè)計(jì)一套界面,并且要得重新寫適合頁面的接口,考慮到時間及成本問題,故項(xiàng)目采用了b方案

二、效果展示

JS表格組件神器bootstrap table詳解(強(qiáng)化版)

二、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>
 ...
$(&#39;#table&#39;).bootstrapTable({
  url: &#39;data.json&#39;
 });

第二種方式較第一種而言在處理復(fù)雜數(shù)據(jù)時更為靈活,一般使用第二種方式來進(jìn)行table數(shù)據(jù)填充。

$(function () {
  
 //1.初始化Table
 var oTable = new TableInit();
 oTable.Init();
  
 //2.初始化Button的點(diǎn)擊事件
 /* var oButtonInit = new ButtonInit();
 oButtonInit.Init(); */
  
 });
  
  
 var TableInit = function () {
 var oTableInit = new Object();
 //初始化Table
 oTableInit.Init = function () {
  $(&#39;#tradeList&#39;).bootstrapTable({
  url: &#39;/VenderManager/TradeList&#39;,  //請求后臺的URL(*)
  method: &#39;post&#39;,   //請求方式(*)
  toolbar: &#39;#toolbar&#39;,  //工具按鈕用哪個容器
  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,  //是否啟用點(diǎn)擊選中行
  height: 460,   //行高,如果沒有設(shè)置height屬性,表格自動根據(jù)記錄條數(shù)覺得表格高度
  uniqueId: "id",   //每一行的唯一標(biāo)識,一般為主鍵列
  cardView: false,   //是否顯示詳細(xì)視圖
  detailView: false,   //是否顯示父子表
  columns: [{
   field: &#39;id&#39;,
   title: &#39;序號&#39;
  }, {
   field: &#39;liushuiid&#39;,
   title: &#39;交易編號&#39;
  }, {
   field: &#39;orderid&#39;,
   title: &#39;訂單號&#39;
  }, {
   field: &#39;receivetime&#39;,
   title: &#39;交易時間&#39;
  }, {
   field: &#39;price&#39;,
   title: &#39;金額&#39;
  }, {
   field: &#39;coin_credit&#39;,
   title: &#39;投入硬幣&#39;
  }, {
   field: &#39;bill_credit&#39;,
   title: &#39;投入紙幣&#39;
  }, {
   field: &#39;changes&#39;,
   title: &#39;找零&#39;
  }, {
   field: &#39;tradetype&#39;,
   title: &#39;交易類型&#39;
  },{
   field: &#39;goodmachineid&#39;,
   title: &#39;貨機(jī)號&#39;
  },{
   field: &#39;inneridname&#39;,
   title: &#39;貨道號&#39;
  },{
   field: &#39;goodsName&#39;,
   title: &#39;商品名稱&#39;
  }, {
   field: &#39;changestatus&#39;,
   title: &#39;支付&#39;
  },{
   field: &#39;sendstatus&#39;,
   title: &#39;出貨&#39;
  },]
  });
 };
  
 //得到查詢的參數(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:$(&#39;input:radio[name="tradetype"]:checked&#39;).val(),
  success:$(&#39;input:radio[name="success"]:checked&#39;).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詳解(強(qiáng)化版)相關(guān)文章請關(guān)注PHP中文網(wǎng)!


本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

JavaScript與Java:您應(yīng)該學(xué)到哪種語言? JavaScript與Java:您應(yīng)該學(xué)到哪種語言? Jun 10, 2025 am 12:05 AM

javascriptisidealforwebdevelogment,whilejavasuitslarge-scaleapplicationsandandandroiddevelopment.1)javascriptexceleatingingingingingingingbeatingwebexperienceswebexperienceswebexperiencesandfull-stackdeevermentwithnode.js.2)

在JavaScript中使用哪些評論符號:一個明確的解釋 在JavaScript中使用哪些評論符號:一個明確的解釋 Jun 12, 2025 am 10:27 AM

在JavaScript中,選擇單行注釋(//)還是多行注釋(//)取決于注釋的目的和項(xiàng)目需求:1.使用單行注釋進(jìn)行快速、內(nèi)聯(lián)的解釋;2.使用多行注釋進(jìn)行詳細(xì)的文檔說明;3.保持注釋風(fēng)格的一致性;4.避免過度注釋;5.確保注釋與代碼同步更新。選擇合適的注釋風(fēng)格有助于提高代碼的可讀性和可維護(hù)性。

JavaScript評論的最終指南:增強(qiáng)代碼清晰度 JavaScript評論的最終指南:增強(qiáng)代碼清晰度 Jun 11, 2025 am 12:04 AM

是的,javascriptcommentsarenectary和shouldshouldshouldseffectional.1)他們通過codeLogicAndIntentsgudedepleders,2)asevitalincomplexprojects,和3)handhanceClaritywithOutClutteringClutteringThecode。

JavaScript評論:簡短說明 JavaScript評論:簡短說明 Jun 19, 2025 am 12:40 AM

JavascriptconcommentsenceenceEncorenceEnterential gransimenting,reading and guidingCodeeXecution.1)單inecommentsareusedforquickexplanations.2)多l(xiāng)inecommentsexplaincomplexlogicorprovideDocumentation.3)

Java vs. JavaScript:清除混亂 Java vs. JavaScript:清除混亂 Jun 20, 2025 am 12:27 AM

Java和JavaScript是不同的編程語言,各自適用于不同的應(yīng)用場景。Java用于大型企業(yè)和移動應(yīng)用開發(fā),而JavaScript主要用于網(wǎng)頁開發(fā)。

掌握J(rèn)avaScript評論:綜合指南 掌握J(rèn)avaScript評論:綜合指南 Jun 14, 2025 am 12:11 AM

評論arecrucialinjavascriptformaintainingclarityclarityandfosteringCollaboration.1)heelpindebugging,登機(jī),andOnderStandingCodeeVolution.2)使用林格forquickexexplanations andmentmentsmmentsmmentsmments andmmentsfordeffordEffordEffordEffordEffordEffordEffordEffordEddeScriptions.3)bestcractices.3)bestcracticesincracticesinclud

JavaScript數(shù)據(jù)類型:深度潛水 JavaScript數(shù)據(jù)類型:深度潛水 Jun 13, 2025 am 12:10 AM

JavaScripthasseveralprimitivedatatypes:Number,String,Boolean,Undefined,Null,Symbol,andBigInt,andnon-primitivetypeslikeObjectandArray.Understandingtheseiscrucialforwritingefficient,bug-freecode:1)Numberusesa64-bitformat,leadingtofloating-pointissuesli

JavaScript:探索用于高效編碼的數(shù)據(jù)類型 JavaScript:探索用于高效編碼的數(shù)據(jù)類型 Jun 20, 2025 am 12:46 AM

javascripthassevenfundaMentalDatatypes:數(shù)字,弦,布爾值,未定義,null,object和symbol.1)numberSeadUble-eaduble-ecisionFormat,forwidevaluerangesbutbecautious.2)

See all articles