BootstrapmergeCells合并单元格(多列)
/**
站在用户的角度思考问题,与客户深入沟通,找到宁晋网站设计与宁晋网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、网站制作、企业官网、英文网站、手机端网站、网站推广、域名与空间、网站空间、企业邮箱。业务覆盖宁晋地区。
- 合并单元格
- @param target 目标表格对象
- @param data 原始数据(在服务端完成排序)
- @param fieldName 合并参照的属性名称
- @param fieldList 要合并的字段集合[不含fieldName]![]
- @param colspan 合并开始列
*/
function mergeCells(target, data, fieldName, fieldList, colspan) {
// 声明一个map计算相同属性值在data对象出现的次数和
var sortMap = {};
var index = 0;
var begini=0;
var endi = 0;
// 统计fieldName长度
getCount(target, data, 0, data.length, fieldName, index, sortMap);
for(var prop in sortMap){
endi = index+sortMap[prop];
if(sortMap[prop]>1){
// console.log(fieldName + ":" + prop,sortMap[prop]);
for(var i=0;igetCount(target, data, begini, endi, fieldList[i], index, null);
}
}
index = begini = endi;
}
}
/**
- 计算合并
/
function getCount(target, data, begini, endi, fieldName, index, sortMap) {
// console.log('fieldName:' + fieldName);
// console.log(begini,endi);
if(sortMap == null){
sortMap = {};
}
for(var i = begini ; i < endi ; 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;
}
// console.log(fieldName + ":" + key, sortMap[key]);
break;
}
}
}
for(var p in sortMap){
var count = sortMap[p] * 1;
// console.log(">>>>>" + ":" + p , count);
$(target).bootstrapTable('mergeCells',{index:index, field:fieldName, colspan: 1, rowspan: count});
index += count;
}
}
使用:
var data1 = $('#table').bootstrapTable('getData', true);
mergeCells($('#table'), data1, "proname", ["promonth", "pkno", "zb"], 1);
分享题目:BootstrapmergeCells合并单元格(多列)
文章地址:http://lswzjz.com/article/pisoce.html