动态设置滚动条适应屏幕分辨率

需求描述:

报表在WEB页面输出的时候,行、列都很多,需要设置横向、纵向滚动条来固定报表表头。

处理方式:

在润乾的tag标签中设置scrollWidthscrollHeight值来处理。

<report:html name=report1″ reportFileName=<%=raqpath%>

needScroll=yes”

scrollWidth=300

scrollHeight=200

/>

存在的问题:

这样,就造成针对客户端不同的分辨率的显示器,滚动条的高度和宽度固定,对于分辨率小的机器,在页面上看不到滚动条,分辨率大的机器,滚动条右下方留出了很大的空白,这样造成页面不美观,影响用户体验。

解决方案:

1.在客户访问一个报表页面之前,加一个redirect.jsp页面,里面加入一个js函数,来获取客户端浏览器窗口的大小:

<SCRIPT>

var w = 0;

var h = 0;

//通过深入Document内部对body进行检测,获取浏览器窗口大小

if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth){

h = document.documentElement.clientHeight;

w = document.documentElement.clientWidth;

}else{

w = 1259 ;

h = 632 ;

}

//重定向到报表所在的jsp页面,并且把客户端浏览器宽度、高度,作为参数

//传递给报表所在的jsp页面

window.location.href=<%=path%>/mis2/reportcenter/res/showReport.jsp?<%=param%>&w=”+w+&h=+h ;

</SCRIPT>

2.在报表所在的jsp页面上(showReport.jsp),获取浏览器的宽度、高度

String w = request.getParameter(w”) ;

String h= request.getParameter(h”) ;

3.在报表输出的标签中,

<report:html name=report1″ reportFileName=a.raq

funcBarLocation=

params=<%=param.toString()%>”

needScroll=yes”

scrollWidth=<%=w%>” -动态设置滚动条宽度、高度

scrollHeight=<%=h%>”

/>

热门文章