bootstrap-table的合并单元格以及部分回掉函数

--------------------- 
作者:导哥 
来源:CSDN 
原文:https://blog.csdn.net/jingtianyiyi/article/details/76208880 
版权声明:本文为博主原创文章,转载请附上博文链接!

1.声明mergeCells函数 

/**
 * 合并单元格
 * @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;
            } 
        }
    }
    for(var prop in sortMap){
        console.log(prop,sortMap[prop])
    }
    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;
    }
}

2.在bootstrapTable的onLoadSuccess函数中加载执行:

onLoadSuccess : function(data) {                                
                var data = $('#table').bootstrapTable('getData', true);
                //合并单元格
                mergeCells(data, "companyTypeName", 1, $('#table'));

},

3.显示效果

这里写图片描述 

4.boostrap-table部分的回调函数:

原文:http://www.cnblogs.com/wufanJY/p/7457432.html

分析事件及回调函数

bootstrap-table事件基本以on绑定,bootstrap-table的事件都有.bs.table后缀 bs即bootstrap 显然.bs.table是申明boostrap-table。

click-row:行点击事件,callback获取4个参数 : e 事件对象 , row 当前行数据对象 , ele 当前单元格对象 , field 当前单元格的field值。(row是数据对象,ele是DOM对象)

dbl-click-row:行双击事件,callback获取4个参数 : e 事件对象 , row 当前行数据对象 , ele 当前单元格对象 , field 当前单元格的field值。(row是数据对象,ele是DOM对象)

check:单个checkbox选中事件,callback获取3个参数 : e 事件对象 , row 当前行数据对象 , ele 当前单元格对象。(row是数据对象,ele是DOM对象)

uncheck:单个checkbox取消选中事件,callback获取3个参数 : e 事件对象 , row 当前行数据对象 , ele 当前单元格对象。(row是数据对象,ele是DOM对象)

check-all:全选checkbox事件,callback获取2个参数 :e 事件对象 ,dataArr 选中行数据对象集合(dataArr的对象是数据对象)

uncheck-all:全选checkbox取消事件,callback获取2个参数 :e 事件对象 ,dataArr 选中行数据对象集合(dataArr的对象是数据对象)

sort:列排序事件,callback获取3个参数 : e 事件对象 , field 当前列的field值 , order 当前列是升序还是降序(enum值,desc , asc)。

load-success:数据加载成功事件,callback获取2个参数:e 事件对象 , data 成功加载的数据对象集合。(dataArr的对象是数据对象)

load-error:数据加载失败事件,callback获取2个参数:e 事件对象 , status 失败状态码。

column-switch:显示隐藏列选择事件,callback获取3个参数:e 事件对象 ,field 当前列的field值 ,checked 是否勾选(bool值)。

page-change:翻页事件,callback获取3个参数 : e 事件对象 ,number 当前页码(不是下标,是页码) ,size 当前页数据条数。

search:搜索事件,callback获取2个参数 : e 事件对象 ,text 搜索框输入内容。

这个demo包含几乎所有bootstrap-table的事件。

示例代码:

$(function(){
            /*初始化表格*/
            $("#goods").bootstrapTable({
                data: data
            });
            /*加载事件*/
            $("#goods")
            .on(‘click-row.bs.table‘, function (e, row, ele,field) {
                $("#eventInfo").text(‘点击行事件 当前商品名:‘+ row.goodsName 
                                    + ‘,价格:‘ + row.price 
                                    + ‘,效期:‘ + row.date
                                    + ‘当前点击单元格field值为:‘ + field);
            })
}

猜你喜欢

转载自blog.csdn.net/lwcaiCSDN/article/details/83143889
今日推荐