在bootstrap table實現行合並主要使用方法:
$('#table_list').bootstrapTable('mergeCells', {index: 0, field: 'col_name', rowspan: 5});
以下假設已經將需要進行行合並的列名保存在了頁面上ID為tableRowMergeCols的div元素上,列名以逗號分隔,例如:“col1,col2,col3”,這個值可以通過ajax從后台中動態獲取。然后通過二層循環,實現bootstrap table的行合並
$("#table_list").bootstrapTable({ method: "GET", …… onLoadSuccess: function (res) { var rowMergeCols = $('#tableRowMergeCols').val().split(","); for (var i = 0; i < rowMergeCols.length; i++) { var colName = rowMergeCols[i]; var colVal = ''; var rowStart = 0; var rowCount = 0; for (var j = 0; j < res.rows.length; j++) { var row = res.rows[j]; if (colVal == '') { colVal = row[colName]; rowCount++; } else { if (colVal == row[colName]) {// 行的值相同 // 計數加1 rowCount++; // 最后一行 if (j == res.rows.length - 1) { $('#table_list').bootstrapTable('mergeCells', { index: rowStart, field: colName, rowspan: rowCount }); } } else {// 行值不同,將前面相同行值的所有行合並 $('#table_list').bootstrapTable('mergeCells', { index: rowStart, field: colName, rowspan: rowCount }); colVal = row[colName]; rowCount = 1; rowStart = j; } } } } } }