bootstrap复杂表格

1.先生成外层表格:
这里写图片描述

$('#tableActivity').bootstrapTable('destroy').bootstrapTable({
            url:'',
            detailView:true,
            detailFormatter:"detailFormatter",//点击展开预先执行事件
            cache: false,
            height: 550,
            showExport: true,
            exportDataType: "all",    
            pagination: true,
            pageSize: 10,
            pageList: [10, 25, 50, 100],
            search: true,
            searchAlign:'left',
            showRefresh: true,
            showToggle: true,
            showColumns: true,
            toolbarAlign: 'right',
            toolbar:"#toolbar",
            buttonsAlign:'left',
            clickToSelect: true,
            idField:'',
            columns: [
                      [
                          {
                              title:'编号',
                              field: 'index',
                              rowspan: 2,
                              align: 'center',
                              valign: 'middle'
                          }, {
                              title: '姓名',
                              field: 'userName',
                              rowspan: 2,
                              align: 'center',
                              valign: 'middle',
                              sortable: true

                          }, {
                              title: '讲义',
                              colspan: 3,
                              align: 'center'
                          }, {
                              title: '视频',
                              colspan: 3,
                              align: 'center'
                          }, {
                              title: '总完成情况',
                              colspan: 3,
                              align: 'center'
                          }
                      ],
                      [
                          {
                              field: 'handoutCount',
                              title: '讲义总数',
                              sortable: true,
                              align: 'center'
                          }, {
                              field: 'handoutComCount',
                              title: '完成数',
                              sortable: true,
                              align: 'center'

                          }, {
                              field: 'handoutCountDegree',
                              title: '完成率',
                              sortable: true,
                              align: 'center'


                          }, {
                              field: 'videoCount',
                              title: '视频总数',
                              sortable: true,
                              align: 'center'


                          }, {
                              field: 'videoComCount',
                              title: '完成数',
                              sortable: true,
                              align: 'center'


                          }, {
                              field: 'videoCountDegree',
                              title: '完成率',
                              sortable: true,
                              align: 'center'


                          }, {
                              field: 'allCount',
                              title: '总数',
                              sortable: true,
                              align: 'center'


                          }, {
                              field: 'allComCount',
                              title: '总完成数',
                              sortable: true,
                              align: 'center'


                          }, {
                              field: 'allDegree',
                              title: '总完成率',
                              sortable: true,
                              align: 'center'


                          }
                      ]

                  ]

        });

2.生成展开之后的表格内容:

function detailFormatter(index, row) {
                handoutColums=[];
                handoutData=[];
                videoColums=[];
                videoData=[];
                var html = [];
                html.push('<div  class="row">');
                html.push('<div class="col-md-6">');
                html.push('<table id="tableHandout'+index+'"></table>');
                html.push('</div>');
                html.push('<div class="col-md-6">');
                html.push('<table id="tableVideo'+index+'"></table>');
                html.push('</div>');
                html.push('</div>');
                handoutColums.push({
                    field: 'handoutIndex',title: '编号', sortable: true ,width: 150
                },{
                    field: 'handoutName',title: '讲义名称', sortable: true ,width: 150
                },{
                    field: 'degree',title: '完成度', sortable: true ,width: 150
                });
                videoColums.push({
                    field: 'videoIndex',title: '编号', sortable: true ,width: 150
                },{
                    field: 'videoName',title: '视频名称', sortable: true ,width: 150
                },{
                    field: 'degree',title: '完成度', sortable: true ,width: 150
                });
                $.each(row, function (key, value) {
                    if(key=="handout"){
                    $.each(value,function(index,handout){
                        var row = {};
                        row['handoutIndex'] = index+1;
                        row['handoutName']=handout.handoutName;
                        row['degree']=handout.degree;
                        handoutData.push(row);

                    });
                    }
                    if(key=="video"){
                    $.each(value,function(index,video){
                        var row = {};
                        row['videoIndex']=index+1;
                        row['videoName']=video.videoName;
                        row['degree']=video.degree;
                        videoData.push(row);
                    });
                    }
                });

                return html.join('');
            }

3:填充表格内容:

 $('#tableActivity').on('expand-row.bs.table', function (e, index, row, $detail) {
              initHandoutTable(handoutColums,handoutData,index);
              initVideoTable(videoColums,videoData,index);
            }); 

            function initHandoutTable(colums,data,index){


                $('#tableHandout'+index).bootstrapTable('destroy').bootstrapTable({
                    cache: false,
                    height: 200,
                    clickToSelect: true,
                    idField:'',
                    columns:colums,
                    data:data
                });

            }

            function initVideoTable(colums,data,index){


                $('#tableVideo'+index).bootstrapTable('destroy').bootstrapTable({
                    cache: false,
                    height: 200,
                    clickToSelect: true,
                    idField:'',
                    columns:colums,
                    data:data
                });

            }

这里写图片描述

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值