---------------------
作者:导哥
来源: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);
})
}