Appearance
合并单元格
首先要对数据进行正确的排序,然后定义一个tableInitSuccess(data)
方法,实现列合并。如下:
javascript
functiontableInitSuccess(data){
//声明一个map计算相同属性值在data对象出现的次数和
//合并列字段名fieldName
varfieldName="order_index";
varsortMap={};
for(vari=0;i<data.length;i++){
for(varpropindata[i]){
if(prop==fieldName){
varkey=data[i][prop]
if(sortMap.hasOwnProperty(key)){
sortMap[key]=sortMap[key]*1+1;
}else{
sortMap[key]=1;
}
break;
}
}
}
for(varpropinsortMap){
console.log(prop,sortMap[prop])
}
varindex=0;
for(varpropinsortMap){
varcount=sortMap[prop]*1;
$("table").bootstrapTable('mergeCells',{index:index,field:fieldName,colspan:1,rowspan:count});
index+=count;
}
}
算法2,不用排序,自由合并
javascript
functiontableInitSuccess(data){
if(data==null||data.length<=1)return;
//合并列字段名fieldName
varfieldName="auditing";
varindex=0;
varkey=data[0][fieldName];
varcount=0;
for(vari=1;i<data.length;i++){
count++;
if(key==data[i][fieldName])continue;
if(count>1){
$("table").bootstrapTable('mergeCells',{index:index,field:fieldName,colspan:1,rowspan:count});
index+=count;
}else{
index++;
}
count=0;
key=data[i][fieldName];
}
}