//*
合并单元格@param target目标表对象@param data原始数据(在服务端排序完成) @param fieldName合并引用的属性名称@param fieldList要合并的字段的集合(字段名称) []@param colspan合并开始列
*/
functionmergecells(target、data、fieldName、fieldList、colspan ) {
声明//map并在data对象中出现相同属性值的次数和
var sortMap={};
var索引=0;
var begini=0;
var endi=0;
统计字段名称的长度
getcount(target,data,0,data.length,fieldName,index,sortMap );
for(varpropinsortmap ) {
endi=索引sort map [ prop ];
软件地图[ prop ]1(if ) {
//console.log (字段名称' : ' prop,sortMap[prop];
for(varI=0; ifieldList.length; I ) {
getcount (目标、数据、begini、endi、字段列表[ I ]、索引、空值);
}
}
索引=begini=endi;
}
//*
计算总计
/
函数获取(target、data、begini、endi、fieldName、index、sortMap ) {
//console.log (字段名称: )字段名称);
//console.log(Begini,endi );
if(sortmap==null ) {
sortMap={};
}
for(varI=Begini; i endi; I ) {
for(varpropindata[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 (字段名称' : ' key,sortMap[key];
布雷克;
}
}
}
for(varpinsortmap ) {
var count=sortMap[p] * 1;
//console.log('':'p,count );
$(target ).bootstraptable(mergecells ),{index:index,field:fieldName,colspan: 1,rowspan: count}
索引=计数;
}
使用方法:
vardata1=$((#table ).bootstraptable ) )、true );
合并单元格($ )、数据1、' proname、['promonth、' pkno、' zb']、1 );
转载于:https://blog.51cto.com/HEC net/2162125