Home >php教程 >PHP开发 >Bootstrap table complex operation code

Bootstrap table complex operation code

高洛峰
高洛峰Original
2016-12-08 11:19:341629browse

The example in this article shares with you the complex operations of bootstrap table, how to generate the outer table, and how to fill the table content for your reference. The specific content is as follows

1. First generate the outer table:

Bootstrap table complex operation code

$('#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. Generate expansion The following table content:

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

3. Fill in the table content:

$(&#39;#tableActivity&#39;).on(&#39;expand-row.bs.table&#39;, function (e, index, row, $detail) {
  initHandoutTable(handoutColums,handoutData,index);
  initVideoTable(videoColums,videoData,index);
  }); 
 
  function initHandoutTable(colums,data,index){
 
 
  $(&#39;#tableHandout&#39;+index).bootstrapTable(&#39;destroy&#39;).bootstrapTable({
   cache: false,
   height: 200,
   clickToSelect: true,
   idField:&#39;&#39;,
   columns:colums,
   data:data
  });
 
  }
 
  function initVideoTable(colums,data,index){
 
 
  $(&#39;#tableVideo&#39;+index).bootstrapTable(&#39;destroy&#39;).bootstrapTable({
   cache: false,
   height: 200,
   clickToSelect: true,
   idField:&#39;&#39;,
   columns:colums,
   data:data
  });
 
  }

Bootstrap table complex operation code

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn