bootstrap table動態行合並


在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;
                    }
                }
            }
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM