报表根据浏览器窗体自动缩放

背景需求

集智数据平台可以在发布报表JSP中通过scale这个标签属性控制报表的缩放显示比例,其属性取值为实数,该方式只能通过指定的具体缩放的比例值进行缩放,不能满足根据浏览器的窗体大小进行缩放的需求。

实现思路

在页面初次加载报表和改变窗体大小时,通过JS获取浏览器窗体的大小设定为报表所在区域的宽度大小。

实现实例:

1. 制作一个测试报表,设计如下图所示:

页面未设置缩放相关的js,发布报表的效果如下图所示:

2.showReport.jsp中加上

<script language=”javascript”>

function myResize() {

var tab1 = document.getElementById( “report1″);

tab1.style.width=document.body.clientWidth;

}

window.onload=myResize;

window.onresize=myResize;

</script>

先获取到报表所在区域的页面元素,再通过document.body.clientWidth获得到浏览器的宽度,将该宽度值用于改变报表所在区域的样式宽度。

3.发布报表后,测试报表展示的样式如下图所示:

缩小浏览器窗体的效果: