您好,登錄后才能下訂單哦!
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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。