zoukankan      html  css  js  c++  java
  • bootstrap表格 合并多行的使用方法

      1 function initTable(tableID) {
      2     $("#" + tableID).bootstrapTable('destroy');
      3     $('#' + tableID).bootstrapTable({
      4         method: 'post',
      5         url: primary_url,
      6         contentType: "application/x-www-form-urlencoded; charset=UTF-8",
      7         showRefresh: false,
      8         // height: $(window).height()+500,
      9         striped: true,
     10         pagination: false,
     11         paginationLoop: false,
     12         singleSelect: false,
     13         // pageSize: 300,
     14         pageList: ['All'],  //设置为 All 或者 Unlimited,则显示所有记录。
     15         search: false, //不显示 搜索框
     16         showHeader: true,
     17         showColumns: false, //不显示下拉框(选择显示的列)
     18         showExport: false,//是否显示导出
     19         paginationVAlign: "bottom",
     20         exportDataType: "all",
     21         sidePagination: "server", //服务端请求
     22         queryParams: queryParams,
     23         sortable: false,    //是否允许排序.
     24         minimunCountColumns: 2,
     25         queryParamsType: 'limit',
     26         columns: [{
     27             field: '大项',
     28             title: '评估大项',
     29              '7%',
     30             align: 'left',
     31             valign: 'middle',
     32             formatter: joinPingGuDaXiang,
     33             sortable: true
     34         }, {
     35             field: '小项',
     36             title: '评估小项',
     37              '10%',
     38             align: 'left',
     39             valign: 'middle',
     40             formatter: joinPingGuXiaoXiang,
     41             sortable: true
     42         }, {
     43             field: '小项序号',
     44             title: '序号',
     45              '3%',
     46             align: 'center',
     47             valign: 'middle',
     48             sortable: true
     49         }],
     95         onLoadError: function (data) {
     96 
     97         },
     98         onLoadSuccess: function (data) {
     99             if (data.code == "1" && data.message == "成功") {
    100                 // console.log( $('#' + tableID)["0"].clientHeight);    //这种办法可以取到bootstrap表格的高度
    101                 /*
    102                 要根据当前行的大项 == prevBigItem,和当前行的小项的parentid是否相同,结合来判定合并表格的单元格.
    103                  */
    104                 var prevBigItem = "";   //前一行的评估大项
    105                 var prevSmallItem = ""; //前一行的评估小项
    106                 var prevParentID = "";  //前一行的评估小项的id号
    107                 var currentRowBigIndex = 0;    //要合并的大项行组里第一行的下标
    108                 var bigRowspan = 1;            //要rowspan的大项行数.
    109 
    110                 //小项的行下标/合并的行数
    111                 var currentRowSmallIndex = 0;
    112                 var smallRowspan = 1;
    113 
    114                 for (var i = 0; i < data.total; i++) {
    115                     var row = data.rows[i];
    116                     var wd_name = data.v_wd;
    121                    
    128                     if (row.大项 == prevBigItem) {
    129                         //大项重合了 哈哈哈居然好啦
    130 
    131                         bigRowspan++;
    132                         $("#" + tableID).bootstrapTable('mergeCells', {
    133                             index: currentRowBigIndex,
    134                             field: '大项',
    135                             colspan: 1,
    136                             rowspan: bigRowspan
    137                         });
    138 
    139 
    140                         if (row.PARENTID == prevParentID) {
    141                             //小项重合了
    142 
    143                             smallRowspan++;
    144 
    145                             $("#" + tableID).bootstrapTable('mergeCells', {
    146                                 index: currentRowSmallIndex,
    147                                 field: '小项',
    148                                 colspan: 1,
    149                                 rowspan: smallRowspan
    150                             });
    151 
    152                             /*$("#" + tableID).bootstrapTable('mergeCells', {
    153                                 index: currentRowSmallIndex,
    154                                 field: '附件数量',
    155                                 colspan: 1,
    156                                 rowspan: smallRowspan
    157                             });*/
    158 
    159                             $("#" + tableID).bootstrapTable('mergeCells', {
    160                                 index: currentRowSmallIndex,
    161                                 field: '小项得分',
    162                                 colspan: 1,
    163                                 rowspan: smallRowspan
    164                             });
    165                         } else {
    166                             currentRowSmallIndex = parseInt(row.DISPID) - 1;
    167                             smallRowspan = 1;
    168                         }
    169                     } else {
    170                         currentRowBigIndex = parseInt(row.DISPID) - 1;   //重置初始化.
    171                         bigRowspan = 1;    //重置初始化.
    172                         currentRowSmallIndex = parseInt(row.DISPID) - 1;
    173                         smallRowspan = 1;
    174                     }
    175 
    176 
    177                     /*
    178                     构造bootstrap的开关按钮和下拉框
    179                      */
    182                     prevBigItem = row.大项;
    183                     prevSmallItem = row.小项;
    184                     prevParentID = row.PARENTID;
    196             }
    197 
    198         },
    199         onRefresh: function () {
    200             afterflash = 1;
    201 
    202         },
    203         onPostBody: function () {
    204 
    205         }
    206 
    207     });
    208 }
    
     
    
    $('#' + tableID)["0"].clientHeight,可以在bootstrap的表格成功生成后取得其高度,是为数不多的能取得表格的方法之一.
    
    bootstrap table可以在初始化方法里,加入height属性:500(或1000),这样也能定下高度.不够会有留白,超出了会自动出现滚动条.
    
    表格合并,这里采取是表格加载成功后,再给予'mergeCells'单元格合并.以当前大小项和parentid和上一个同指标相比较,如果相同,
    currentRowBigIndex和bigRowspan都进行相应的变化,
    就加以合并;否则,currentRowBigIndex和bigRowspan都给重置初始化.
  • 相关阅读:
    哪有什么互联网寒冬?只是你穿的少而已!
    我不是机器人:谷歌最新版验证码系统ReCaptcha破解已开源
    Gradle更小、更快构建APP的奇淫技巧
    一篇文章让你了解Android各个版本的历程
    快速开发android,离不开这10个优秀的开源项目
    年底Android面试整理(附答案)
    最近Android真的凉凉了?
    Android 应用防止被二次打包指南
    开发了5年android,我开始了go学习之旅
    做了5年的Android,我转Java后台了!
  • 原文地址:https://www.cnblogs.com/hangaozu/p/8984344.html
Copyright © 2011-2022 走看看