报表知识库
我要提问

带滚动条的报表滚动条自适应浏览器

润乾报表在页面端展现时,可生成滚动条锁定表头,通过拖拽滚动条查看相应数据,可通过标签中的scrollWidthscrollHeight属性来设置滚动条区域的高度和宽度,但这里只能设置固定值,由于客户机器的分辨率不同,和可能导致不同用户访问同一张表时,滚动条区域大小不同,造成展现样式非常难看,这样就要求报表展现时,滚动条区域要自适应客户端浏览器的大小。

解决方案:润乾报表在网页端展示时是以纯html形式展现,所以可以通过页面对展现的报表进行控制。

一:在报表设计器中将需要锁定的行列设置为报表头和列表头

二:在显示报表的jsptag标签中增加needScroll=”yes”

三:定义js函数

function testscroll(){

 obj = document.getElementsByTagName(“div”);

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

 for(var i =0 ;i<obj.length;i++)

 {

      if(obj[i].id == ‘report1_scrollArea’)

obj[i].style.width = document.body.clientWidth-15;

obj[i].style.height=1000;

 }

}

        

在该js函数中可通过设置obj[i].style.widthobj[i].style. height的值设置滚动条区域的大小。具体的宽度或高度可通过html中的一些样式得到。

如:

var s = “”;

s += “\r\n网页可见区域宽:“+ document.body.clientWidth;

s += “\r\n网页可见区域高:“+ document.body.clientHeight;

s += “\r\n网页可见区域宽:“+ document.body.offsetWidth +” (包括边线和滚动条的宽)”;

s += “\r\n网页可见区域高:“+ document.body.offsetHeight +” (包括边线的宽)”;

s += “\r\n网页正文全文宽:“+ document.body.scrollWidth;

s += “\r\n网页正文全文高:“+ document.body.scrollHeight;

s += “\r\n网页被卷去的高:“+ document.body.scrollTop;

s += “\r\n网页被卷去的左:“+ document.body.scrollLeft;

s += “\r\n网页正文部分上:“+ window.screenTop;

s += “\r\n网页正文部分左:“+ window.screenLeft;

s += “\r\n屏幕分辨率的高:“+ window.screen.height;

s += “\r\n屏幕分辨率的宽:“+ window.screen.width;

s += “\r\n屏幕可用工作区高度:“+ window.screen.availHeight;

s += “\r\n屏幕可用工作区宽度:“+ window.screen.availWidth;

s += “\r\n你的屏幕设置是 “+ window.screen.colorDepth +” 位彩色“;

s += “\r\n你的屏幕设置 “+ window.screen.deviceXDPI +” 像素/英寸“;

然后在该jsp页面加载时加载该js函数即可

<script language=”javascript”>

        testscroll();

</script>

标签: