温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

bootstrap table实现横向合并与纵向合并

发布时间:2021-06-03 16:56:56 阅读:305 作者:Leah 栏目:web开发
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

bootstrap table实现横向合并与纵向合并?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

html代码

<div id="test" class="table-responsive" >
 <table id="resourceTable"  class="table table-nowrap"></table>
</div>

在上js代码

/**
 * 合并单元格,同一列相同数据会合并到同一单元格
 * field:要合并的field列
 */
function mergeTable(field){
 
 var obj=getObjFromTable($resAlertTable,field);
 
 for(var item in obj){ 
  $resAlertTable.bootstrapTable('mergeCells',{
 index:obj[item].index,
 field:field,
 colspan:1,
 rowspan:obj[item].row,
 });
  }
}
function getObjFromTable($resAlertTable,field){
 var obj=[];
 var maxV=$resAlertTable.find("th").length;
 var columnIndex=0;
 var filedVar;
 for(columnIndex=0;columnIndex<maxV;columnIndex++){
 filedVar=$resAlertTable.find("th").eq(columnIndex).attr("data-field");
 if(filedVar==field) break;
 
 }
 var $trs=$resAlertTable.find("tbody > tr");
 var $tr;
 var index=0;
 var content="";
 var row=1;
 for (var i = 0; i <$trs.length;i++)
 {  
 $tr=$trs.eq(i);
 var contentItem=$tr.find("td").eq(columnIndex).html();
 //exist
 if(contentItem.length>0 && content==contentItem ){
  row++;
 }else{
  //save
  if(row>1){
  obj.push({"index":index,"row":row});
  }
  index=i;
  content=contentItem;
  row=1;
 }
 }
 if(row>1)obj.push({"index":index,"row":row});
 return obj;
 
}

实现效果:

bootstrap table实现横向合并与纵向合并

下面是横向合并,相对来说就比较简单了,只需要对table进行一些设置即可

cache : false// 不缓存
pagination : false// 开启分页功能
striped : false// 隔行加亮
data:testData,
search:true,
toolbar:'#toolbar',
heighttableHeight(),//高度调整
silence : true,
sortName : 'lastTime'// 设置默认排序为 id
sortOrder : 'desc'// 设置排序为升序 asc/反序desc
 
columns: [
  [
  {
  field'resourceName',
  title'资源名称',
  align'center',
  valign'middle',
  width'8%',
  colspan:1,
  rowspan:2
  },
  {
  title'流入速率',
  align'center',
  valign'middle',
  sortable : true,
  colspan:3,
  rowspan:1
  },
  {
  title'流出速率',
  align'center',
  valign'middle',
  sortable : true,
  colspan:3,
  rowspan:1
  }
   ],
   [
  {
  field'netUpSpeed',
  title"最大值",
  align'center',
  valign'middle',
  width'6%',
  sortable:true
  },{
  field'netUpSpeed',
  title"最小值",
  align'center',
  valign'middle',
  width'6%',
  sortable:true
  },{
  field'netUpSpeed',
  title"平均值",
  align'center',
  valign'middle',
  width'6%',
  sortable:true
  },{
  field'netUpSpeed',
  title"最大值",
  align'center',
  valign'middle',
  width'6%',
  sortable:true
  },{
  field'netUpSpeed',
  title"最小值",
  align'center',
  valign'middle',
  width'6%',
  sortable:true
  },{
  field'netUpSpeed',
  title"平均值",
  align'center',
  valign'middle',
  width'6%',
  sortable:true
  }
  ]
 ],
 onPreBody:function(data){
 
}
});

实现效果:

bootstrap table实现横向合并与纵向合并

关于bootstrap table实现横向合并与纵向合并问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×