红色部分根据报表实际情况做调整。
//纵向合并第1列
var m=1;
for(var i=2;i<data.length+1;i++){
if(table[i][0]!=table[m][0]){
cellSpan[m][0]=[1,i-m];
m=i;
}
else if(i==data.length+1-1&&table[i][0]==table[m][0]){
cellSpan[m][0]=[1,i-m+1];
}
}
//纵向合并第2列
var m=1;
for(var i=2;i<data.length+1;i++){
if(table[i][1]!=table[m][1]||table[i][0]!=table[i-1][0]){
cellSpan[m][1]=[1,i-m];
m=i;
}
else if(table[i][1]==table[m][1]&&table[i][0]==table[i-1][0]){
cellSpan[m][1]=[1,i-m+1];
}
}
//横向合并
var k=3;
for(;k<data.length+3;k++){
if(table[k][0]==table[k][1]){
cellSpan[k][0]=[2,1];
}
}
//记录日志
log("长度="+data.length);
//控制表格是否可见
if(trim(parameter.ORG_CODE)!='BSTA'){
Table1.visible=false;
}
//隐藏某一列/某一行
colWidth[0]=0;
colWidth[1]=0;
rowHeight[3]=0;
列合并后的显示效果:
转载请注明:观测者 » 利用JS脚本控制StyleReport报表行列合并