美文网首页
bootstrap-table配合bootstrap-pagin

bootstrap-table配合bootstrap-pagin

作者: lvyweb | 来源:发表于2019-10-31 10:49 被阅读0次

    标签(空格分隔): bootstrap


    需求:请求数据不想使用bootstrap-table自带的请求数据,想使用自己封装的ajax函数请求。分页要配合bootstrap-paginator使用。

    1)html页面中引入jquery和bootstrap-table.js以及bootstrap-paginator.js
    2)js中调用的时候,初始化表格数据,初始化表格结构,初始化分页
    3)分页控件调用的是初始化表格数据

    主要代码如下
    html

    <table class="table table-bordered table-hover" id="table">
    </table>   
    <div class="text-Bottom">
        <div class="count-info-text">共<span id="subAllNum">0</span>个案件</div>
        <ul id="pageId"></ul>
    </div>
    

    js

      $("#seek").click(function () {
        loadTableData(1);//初始化表格数据
        showTable(caseSubArr);//初始化表格结构
        initPage(caseSubTotal, subLineCount);//初始化分页
      })
    
    //请求表格数据
     function loadTableData(pageNo) {
        var url = urlKeyList.epvlCaseService.getCaseCondition;
        var caseSubContent = getSubParams(pageNo);
        sendRequest(false, "POST", url, caseSubContent, function (responseText) {
          var dstJson = JSON.parse(responseText);
          if (dstJson.result === 0) {
            theres = 0;
            caseSubArr = dstJson.para;
            // caseSubTable(caseSubArr);
            $('#addSubCaseTable').bootstrapTable("load", caseSubArr);
          } else {
            alertModal(1, dstJson.desc);
            return;
          }
        });
        return caseSubArr;
      }
      //加载表格结构
       function showTable(caseSubArr) {
        $('#table').bootstrapTable({
          data: caseSubArr,
          contentType: 'application/json;charset=UTF-8',
          height: 452,
          clickToSelect: true,
          singleSelect: true,
          pagination: false,
          sidePagination: "client",
          paginationPreText: "<",
          paginationNextText: ">",
          pageSize: subLineCount,
          paginationLoop: false,
          columns: [{
              checkbox: true,
            },
            {
              title: "序号",
              width: "45px",
              formatter: function (value, row, index) {
                return index + 1;
              }
            },
            {
              field: 'name',
              title: '案件名称',
            },
            {
              field: 'policePlatNo',
              title: '案件编号',
              formatter: function (value, row, index) {
                return "<span title='" + value.replace(/\'/g, "&acute;") + "'>" + value.replace(/\'/g, "&acute;") + "</span>";
              }
            }, {
              field: 'caseType',
              title: '案件类型',
            }, {
              field: 'startTime',
              title: '案发时间',
            }, {
              field: 'operation',
              title: '操作',
              align: 'center',
              formatter: function (value, row, index) {
                var d = '<a href="#" title="添加子案件" class="add" data-id="' + row.id + '" onclick="addCaseToMerg(this)"><i class="glyphicon glyphicon-plus"></i></a>';
                return d;
              }
            }
          ],
          formatNoMatches: function () {
            return "没有相关的匹配结果";
          },
          formatLoadingMessage: function () {
            return "请稍等,正在加载中...";
          },
          formatShowingRows: function (a, b, c) {
            //   return "当前显示第 " + a + "条到第 " + b + " 条记录,总共 " + c + " 条记录";
            return "共 " + c + " 条记录";
          },
          formatRecordsPerPage: function (a) {
            //   return "每页显示 " + a + " 条记录";
          },
          onLoadSuccess: function (row) {},
          onClickRow: function (row, $element) {
            curSubData = row;
          },
          onLoadError: function (errorCode) {}
        });
    
      }
    //初始化分页
     function initPage(caseSubTotal, subLineCount) {
        $('#pageId').bootstrapPaginator({
          currentPage: 1, //当前的请求页面。
          totalPages: caseSubTotal <= subLineCount ? 1 : Math.ceil(caseSubTotal / subLineCount), //一共多少页。
          size: "normal", //应该是页眉的大小。
          bootstrapMajorVersion: 3, //bootstrap的版本要求。
          alignment: "right",
          numberOfPages: 5, //一页列出多少数据。
          itemTexts: function (type, page, current) { //如下的代码是将页眉显示的中文显示我们自定义的中文。
            switch (type) {
              case "first":
                return ""; //首页    
              case "prev":
                return "<"; //上一页  
              case "next":
                return ">"; //下一页        
              case "last":
                return ""; //末页         
              case "page":
                return page;
            }
          },
          shouldShowPage: function (type, page, current) {
            var result = 0;
            if (caseSubTotal > subLineCount) {
              switch (type) {
                case "first":
                  result = 0;
                  break;
                case "prev":
                  result = 1;
                  break;
                case "next":
                  result = 1; //current !== this.totalPages;
                  break;
                case "last":
                  result = 0;
                  break;
                case "page":
                  result = !0;
              }
            }
            return result;
          },
          onPageClicked: function (event, originalEvent, type, page) {
            loadTableData(page);
          }
        });
      }
    

    相关文章

      网友评论

          本文标题:bootstrap-table配合bootstrap-pagin

          本文链接:https://www.haomeiwen.com/subject/vtizvctx.html