溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

bootstrap Table插件使用demo

發(fā)布時(shí)間:2020-10-05 19:43:43 來源:腳本之家 閱讀:173 作者:一枚大帥哥 欄目:web開發(fā)

最近研究bootstrap,它僅提供視覺效果,對(duì)于數(shù)據(jù)列表之類的并未涉及,網(wǎng)上找了一下,找到一個(gè)Table插件。

名為bootstrapTable。

官方地址:http://bootstrap-table.wenzhixin.net.cn/examples/

github:https://github.com/wenzhixin/bootstrap-table

因?yàn)橛⑽牟睿芯苛税胩?,做了一個(gè)demo,將就看

HTML: 

<table class="table" id="dataShow" > 
     <thead> 
       <tr> 
         <th data-checkbox="true">選擇</th> 
         <th data-field="rkey">供應(yīng)商名稱</th> 
         <th data-field="rkey">供應(yīng)商編碼</th> 
         <th data-field="name">物料編碼</th> 
         <th data-field="sex">申請(qǐng)類型</th> 
         <th data-field="birthdayString">試用申請(qǐng)編碼</th> 
         <th data-field="age">試用狀態(tài)</th> 
         <th data-field="age">廠別</th> 
         <th data-field="age">審批狀態(tài)</th> 
         <th data-field="birthday">申請(qǐng)時(shí)間</th> 
         <th data-field="age">試用結(jié)果</th> 
       </tr> 
     </thead> 
  </table> 

JS:

var currPageIndex = 0; 
    var currLimit = 10; 
 
    $(function () { 
      $("#dataShow").bootstrapTable({ 
        url: "TradHandler.ashx?request=getTradList", 
        sortName: "rkey",//排序列 
        striped: true,//條紋行 
        sidePagination: "server",//服務(wù)器分頁 
        //showRefresh: true,//刷新功能 
        //search: true,//搜索功能 
        clickToSelect: true,//選擇行即選擇checkbox 
        singleSelect: true,//僅允許單選 
        //searchOnEnterKey: true,//ENTER鍵搜索 
        pagination: true,//啟用分頁 
        escape: true,//過濾危險(xiǎn)字符 
        queryParams: getParams,//攜帶參數(shù) 
        pageCount: 10,//每頁行數(shù) 
        pageIndex: 0,//其實(shí)頁 
        method: "get",//請(qǐng)求格式 
        //toolbar: "#toolBar", 
        onPageChange: function (number, size) { 
          currPageIndex = number; 
          currLimit = size 
        }, 
        onLoadSuccess: function () 
        { 
          $("#searchBtn").button('reset'); 
        } 
      }); 
 
      //搜索 
      $("#searchBtn").click(function () { 
        $(this).button('loading'); 
        var nullparamss = {}; 
        $("#dataShow").bootstrapTable("refresh", nullparamss); 
         
      }); 
      //enter鍵搜索 
      $("#searchKey").keydown(function (event) { 
        if (event.keyCode == 13) 
        { 
          $("#searchBtn").click(); 
        } 
      }); 
      //阻止enter鍵提交表單 
      $("#mainForm").submit(function () { 
        return false; 
      }); 
 
       
    }); 
    //默認(rèn)加載時(shí)攜帶參數(shù) 
    function getParams(params) { 
      var searchKey = $("#searchKey").val(); 
      return { bysex: 1, limit: params.limit, offset: params.offset, search: searchKey }; 
    } 

TradHandler.ashx:

/// <summary> 
    /// 獲取批量數(shù)據(jù)示例 
    /// </summary> 
    /// <param name="context"></param> 
    private void getTradList(HttpContext context) 
    { 
      //用于序列化實(shí)體類的對(duì)象 
      JavaScriptSerializer jss = new JavaScriptSerializer(); 
 
      #region 模擬數(shù)據(jù)獲取 
      List<SimpleModel> list = new List<SimpleModel>(); 
      for (int i = 0; i < 1000; i++) 
      { 
        list.Add(new SimpleModel() { age = 18, name = "小李" + i, rkey = i + 1, sex = "男" }); 
      } 
 
 
      //請(qǐng)求中攜帶的條件 
      string bysex = context.Request.Params["bysex"]; 
      string searchKey = context.Request.Params["search"]; 
 
      //請(qǐng)求中攜帶的頁數(shù)和下標(biāo) 
      int dataIndex = Convert.ToInt32(context.Request.Params["offset"]); 
      int pageCount = Convert.ToInt32(context.Request.Params["limit"]); 
 
      //查詢滿足條件的數(shù)據(jù) 
      List<SimpleModel> getList; 
      if (bysex != null && searchKey != null) 
      { 
        getList = (from p in list 
              where p.sex == (bysex == "0" ? "女" : "男") && p.name.Contains(searchKey.Trim()) 
              select p).ToList(); 
      } 
      else 
      { 
        getList = list; 
      } 
      #endregion 
 
      //將結(jié)果增加一列序號(hào)列 
      Dictionary<int, SimpleModel> testModel = new Dictionary<int, SimpleModel>(); 
      for (int i=0;i< getList.Count;i++) 
      { 
        testModel.Add(i + 1, getList[i]); 
      } 
       
      //給分頁實(shí)體賦值 
      PageModels<SimpleModel> model = new PageModels<SimpleModel>(); 
      model.total = getList.Count; 
      if (getList.Count % pageCount == 0) 
        model.page = getList.Count / pageCount; 
      else 
        model.page = (getList.Count / pageCount) + 1; 
 
      //獲取對(duì)應(yīng)頁的數(shù)據(jù) 
      model.rows = testModel.Where(t => t.Key > dataIndex && t.Key <= dataIndex + pageCount).Select(t => t.Value).ToList(); 
 
      //將查詢結(jié)果返回 
      context.Response.Write(jss.Serialize(model)); 
    } 

有同學(xué)問pagemodel實(shí)體類,這里也分享一下,泛型實(shí)體類,因?yàn)樵摬寮枰@些屬性才能正常自動(dòng)綁定

[Serializable] 
  public class TablePageModel<T> 
  { 
    /// <summary> 
    /// 總行數(shù) 
    /// </summary> 
    public long total { get; set; } 
 
    /// <summary> 
    /// 總頁數(shù) 
    /// </summary> 
    public int page { get; set; } 
 
    private List<T> _rows; 
    /// <summary> 
    /// 數(shù)據(jù)源 
    /// </summary> 
    public List<T> rows 
    { 
      get 
      { 
        if (_rows == null) 
          _rows = new List<T>(); 
        return _rows; 
      } 
      set 
      { 
        _rows = value; 
      } 
    } 
  } 

展示數(shù)據(jù)結(jié)果如下:

bootstrap Table插件使用demo 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI