FineReport设置标题动态居中以及行列冻结的解决办法

菜单栏选择模板>模板 Web 属性,在对应的预览方式下添加加载结束事件,js代码:

var a,b,c,d;
function retitle(){
a=$('.content-container').width();        //文档宽度
b=$('.content-container').scrollLeft();   //横向滚动宽度
c=$("#title_text").width();               //标题文字宽度
d=$(".x-table").width();                  //表格宽度
if(a>d){ //无滚动条时
     $("[id^=A1-]").css("text-align","center");
}else{//有滚动条时
$("[id^=A1-]").css("padding-left",(a/2+b-c/2));
}
}
retitle();  //初始化居中
$('.content-container').scroll(function(){  //拖动滚动条触发事件
retitle();        
})

但是标题动态居中有一个BUG那就是不支持行列冻结,有一个大神给了我这么一条代码,可以支持行列冻结

//////////////标题动态居中
var a,b,c,d;
function retitle(){
a=$(".content-container").width();        //文档宽度
b=$("#frozen-north").scrollLeft();   //冻结区横向滚动宽度
c=$("#title_text").width();               //冻结区标题文字宽度
d=$("#frozen-north table").width(); //冻结区表格宽度
 
if(a >d){ //无滚动条时
     $("[id^=A1-]").css("text-align","center");
}else{//有滚动条时
$("[id^=A1-]").css("padding-left",(a/2+b-c/2));
}
}
retitle();  //初始化居中
$("#frozen-north").scroll(function(){  //拖动滚动条触发事件
retitle();        
})


你可能感兴趣的:(FineReport设置标题动态居中以及行列冻结的解决办法)