記Bootstrap Table兩種渲染方式

来源:https://www.cnblogs.com/yatelanda93/archive/2019/01/07/yatelanda93.html
-Advertisement-
Play Games

這裡主要區別兩種Bootstrap Table的數據渲染方式,一、屬性渲染方式,二、JS渲染方式 工作直接接手前人的,之前都直接在table標簽上渲染屬性,後面因為項目需要,同一頁面的表格,需要申請不同的介面獲取數據,寫兩個表格後期數據量大的時候浪費頁面資源還增加了請求,所以最後改成了JS渲染方式, ...


這裡主要區別兩種Bootstrap Table的數據渲染方式,一、屬性渲染方式,二、JS渲染方式

工作直接接手前人的,之前都直接在table標簽上渲染屬性,後面因為項目需要,同一頁面的表格,需要申請不同的介面獲取數據,寫兩個表格後期數據量大的時候浪費頁面資源還增加了請求,所以最後改成了JS渲染方式,先貼表格效果:

一是屬性渲染方式:省去表格所在項目引用的樣式,單論數據載入,HTML代碼就是簡單的table表格的結構,table標簽上添加data-屬性,控製表格渲染效果。

HTML:

 1 <table id="UnDistributeTable" class="table table-hover  table-responsive table-bordered grayTable" data-toggle="table"
 2        data-query-params="Setparams_UnDistribute" data-query-params-type="" data-method="post"
 3        data-url="/api/data " 
 4        data-side-pagination="server" data-sort-name=""
 5        data-id-field="WorkID" data-height="" data-page-number="1" data-response-handler="GetData" data-striped=true
 6        data-pagination="true" data-page-size="15" data-page-list="[50,100,200]">
 7     <thead>
 8         <tr>
 9             <th data-field="PONum" data-sortable="true">
10                 PO單號
11             </th>
12             <th data-field="AllotWorkNum" data-sortable="true">
13                 分配單號
14             </th>
15             <th data-field="NKAFlagName" data-sortable="true">
16                 單據類型
17             </th>
18             <th data-field="Purpose" data-sortable="true">
19                 用途
20             </th>
21             <th data-field="SumQuantity">
22                 物料總量
23             </th>
24             <th data-field="SumAllocationQuantity" >
25                 已分配數量
26             </th>
27             <th data-field="OperatorName">
28                 上級辦理人
29             </th>
30             <th data-field="OperatorTime">
31                 上級辦理時間
32             </th>
33             <th data-field="" data-formatter="Opera" >
34                 操作
35             </th>
36         </tr>
37     </thead>
38 </table>
HTML Code

JS:

 1 function Setparams_UnDistribute(params) {
 2     var e = [{ PageSize: params.pageSize, PageIndex: params.pageNumber, OrderByField: params.sortName, OrderByType: params.sortOrder == "asc" ? 0 : 1, AllotState: 0,PONum:"" }];
 3     return e;
 4 }
 5 
 6 function GetData(res) {
 7     return {
 8         "total": res.Total,   //總頁數
 9         "rows": res.Data   //數據
10     };
11 }
JS Code

這樣就能夠載入出路徑url的數據了。

二就是JS載入方式,不會在table標簽上添加其他的屬性,table的結構更加清楚。

HTML:

 1 <table id="DistributeTable" class="table table-hover  table-responsive table-bordered grayTable" >
 2     <thead>
 3         <tr>
 4             <th data-field="CheckState" >
 5                 審核狀態
 6             </th>
 7             <th data-field="PONum" data-sortable="true">
 8                 PO單號
 9             </th>
10             <th data-field="WorkNum" data-sortable="true">
11                 分配單號
12             </th>
13             <th data-field="NKAFlagName" data-sortable="true">
14                 單據類型
15             </th>
16             <th data-field="Purpose" data-sortable="true">
17                 用途
18             </th>
19             <th data-field="SumQuantity" >
20                 物料總量
21             </th>
22             <th data-field="SumAllocationQuantity" >
23                 本次分配數量
24             </th>
25             <th data-field="OperatorName" data-sortable="true">
26                 分配人
27             </th>
28             <th data-field="OperatorTime" data-sortable="true">
29                 分配時間
30             </th>
31             <th data-field="SumQuantity" data-sortable="true">
32                 物料總量
33             </th>
34             <th data-field="" data-formatter="OperaView">
35                 操作
36             </th>
37         </tr>
38     </thead>
39 </table>
HTML Code

JS:

 1 $(function () {
 2   var oTable = new TableInit();
 3   oTable.Init();
 4 });
 5 var TableInit = function () {
 6     var oTableInit = new Object();
 7     //初始化Table
 8     oTableInit.Init = function () {
 9         var url = ‘/api/data’;         //請求後臺的URL(*)
10 
11         $('#DistributeTable').bootstrapTable({
12             url: url,
13             method: 'post',                     
14             striped: true,                      
15             cache: false,                  //是否使用緩存,預設為true
16             pagination: true,                   
17             sortable: true,  
18             sortName:"PONum",
19             queryParams: oTableInit.queryParams,
20             sidePagination: "server",           
21             pageNumber: 1,                      
22             pageSize:15,                       
23             pageList: [25, 50, 100],        
24             uniqueId: "id",              //每一行的唯一標識,一般為主鍵列
25             responseHandler: function (res) {
26                 return {
27                     "total": res.Total,
28                     "rows": res.Data   
29                 };
30 
31             }
32         });
33     };
34 
35     //得到查詢的參數
36     oTableInit.queryParams = function (params) {
37         var e = [{ PageSize: params.limit, PageIndex: Math.floor(params.offset / params.limit) + 1, OrderByField: params.sort , OrderByType: params.order == "asc" ? 0 : 1, AllotState: 1, PONum:"" }];
38         return e;
39     };
40     return oTableInit;
41 };
JS Code

兩種方式,渲染所得效果一致,完美,具體使用時,採用哪種方式渲染表格都可以,屬性渲染更清楚顯示出表格與參數設置的對應關係,適用於功能固定的表格,如果頁面同一表所要載入的數據源會發生變化的話,最好使用第二種JS 渲染表格的方式,可以添加表格載入條件,來判斷具體載入哪一數據源的數據,控製表格表格載入數據並渲染。

另,Bootstrap Table表格中有一點我比較迷茫的地方還沒弄清楚,所以也提一下,就是table標簽中一般有data-toggle=”table”屬性值的設置,設置了就表示不寫JS啟用表格,一般在對table進行JS初始化的時候,比如寫$(“#table”).bootstrapTable({“data”, data});這種的時候,如果聲明瞭該屬性,就無法正常渲染表格;但是如果使用Bootstrap Table方法渲染表格,比如$(“#table”).bootstrapTable(“load”, data);就必須添加該屬性,否則也無法正常顯示。

 註-版權聲明:本文為博主原創文章,未經博主允許不得轉載。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 今天在網上看到的,裡面的內容非常多。說下我自己的理解。 所謂的防抖就是利用延時器來使你的最後一次操作執行。而節流是利用時間差的辦法,每一段時間執行一次。下麵是我的代碼: 這段代碼是右側的小滑塊跟隨頁面一起滑動。 這裡面只有防抖,沒有節流,大家註意一下。78——86行是我沒有做防抖的樣子。大家可以快速 ...
  • 在實際開發中,我們需要經常測試,需要設計或者需求和客戶瀏覽網址,但是由於沒有開發完成,一般不會部署線上環境,那麼如何實現本地網址快速被外網的人訪問呢? 1.本地啟動服務: serve 安裝 npm install -g serve (-g全局安裝,非全局忽略安裝) 2.本地vue環境下在編譯後的目錄 ...
  • 今天node引入bootstrap npm報錯 但是頁面正常顯示 最後發現bootstrap.min.js.map沒有放在文件里 雖然不用頁面中引入 另外也發現了怎麼看這種錯誤了 ...
  • 個人總結: call 繼承的是父類私有 prototype 繼承的父類公有 create 可以將公有或私有繼承到子類上去(克隆) for in 克隆 不管公有還是私有的都克隆成私有的 1.原型繼承:將父類的私有和公有都繼承子類的原型上。子類的原型等於父類的實例。(私有公有全部繼承) function ...
  • 一、引入 svg-sprite-loader 插件 vue-cli項目預設情況下會使用 url-loader 對svg進行處理,會將它放在/img 目錄下,所以這時候我們引入svg-sprite-loader 會引發一些衝突。 解決方案:使用 webpack 的 exclude和 include,讓 ...
  • thinkphp3.2.3模板渲染支持三元表達式 註意:三元運算符中暫時不支持點語法。 如下: 參看上面例子中的三元表達式加以運用哦 ...
  • /** 滾動條 **/ ::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-button:vertical { display: none; } ::-webkit-scrollbar-track, ::-we ...
  • 一、變數相關 二、函數相關 三、儘量使用ES6,有可以能的話ES7中新語法 現在寫代碼比以前好多了,代碼的格式都有eslint,prettier,babel(寫新版語法)這些來保證,然而,技術手段再高端都不能解決代碼可讀性(代碼能否被未來的自己和同事看懂)的問題,因為這個問題只有人自己才能解決。我們 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...