bootstraptable行合并

onLoadSuccess: function (data) {
            data = $('#categorySonTab').bootstrapTable('getData', true);
            //合并单元格
            mergeCells(data, "name", 1, $('#categorySonTab'));
            mergeCells(data, "url", 1, $('#categorySonTab'));
            mergeCells(data, "cateWord", 1, $('#categorySonTab'));
            mergeCells(data, "id", 1, $('#categorySonTab'));

        },

 

合并方法(直接可用)

/**
 * 合并单元格
 * @param data  原始数据(在服务端完成排序)
 * @param fieldName 合并属性名称
 * @param colspan   合并列
 * @param target    目标表格对象
 */
function mergeCells(data, fieldName, colspan, target) {
    //声明一个map计算相同属性值在data对象出现的次数和
    var sortMap = {};
    for (var i = 0; i < data.length; i++) {
        for (var prop in data[i]) {
            if (prop == fieldName) {
                var key = data[i][prop];
                if (sortMap.hasOwnProperty(key)) {
                    sortMap[key] = sortMap[key] * 1 + 1;
                } else {
                    sortMap[key] = 1;
                }
                break;
            }
        }
    }
    var index = 0;
    for (var prop in sortMap) {
        var count = sortMap[prop] * 1;
        $(target).bootstrapTable('mergeCells', {index: index, field: fieldName, colspan: colspan, rowspan: count});
        index += count;
    }
}

 

效果图:

posted @ 2019-08-02 14:18  波神丶  阅读(3318)  评论(1编辑  收藏  举报