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;
}實現效果:

下面是橫向合并,相對來說就比較簡單了,只需要對table進行一些設置即可
cache : false, // 不緩存
pagination : false, // 開啟分頁功能
striped : false, // 隔行加亮
data:testData,
search:true,
toolbar:'#toolbar',
height: tableHeight(),//高度調整
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實現橫向合并與縱向合并問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。