带滚动条的报表滚动条自适应浏览器
润乾报表在页面端展现时,可生成滚动条锁定表头,通过拖拽滚动条查看相应数据,可通过标签中的scrollWidth和scrollHeight属性来设置滚动条区域的高度和宽度,但这里只能设置固定值,由于客户机器的分辨率不同,和可能导致不同用户访问同一张表时,滚动条区域大小不同,造成展现样式非常难看,这样就要求报表展现时,滚动条区域要自适应客户端浏览器的大小。
解决方案:润乾报表在网页端展示时是以纯html形式展现,所以可以通过页面对展现的报表进行控制。
一:在报表设计器中将需要锁定的行列设置为报表头和列表头
二:在显示报表的jsp的tag标签中增加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.width和obj[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>