行式填报表锁定表头页面居中展示
需求:
行式填报表浏览器端展现时锁定报表头并居中展示
解决方案:
润乾报表在页面端展现是以html格式展现,在制作一般报表居中展示时可以将润乾报表的tag标签放到jsp页面中的table里,然后增加align=”center”属性即可控制报表在页面中居中展示,但有特殊一点,如果报表类型为行式填报表并且要求锁定报表头时,该方法并不起作用,报表还是居左展示,下面介绍下如果报表类型为行式填报表并且锁定表头下的报表居中展示方法。
首先还是可以将润乾的tag标签放到jsp的table中,但是此时要加一个width属性,控制table的宽度,这样就可以通过控制table的宽度来改变报表在页面中的显示位置,但是这个位置并不是居中位置,该位置取决于width属性以及报表展现后的宽度,这样就不能灵活设置。
此时可以通过javascript来得到报表的宽度、浏览器的宽度,从而灵活设置该table的宽度,达到报表的居中展示。
Jsp如下:
<%@ page contentType=”text/html;charset=GBK” %>
<%@ taglib uri=”/WEB-INF/runqianReport4.tld” prefix=”report” %>
<%@ page import=”java.io.*”%>
<%@ page import=”java.util.*”%>
<%@ page import=”com.runqian.report4.usermodel.Context”%>
<html>
<table id=’rep’ align=”center” >
<tr><td>
<report:html name=”report1″ reportFileName=”scroll.raq”
funcBarLocation=”top”
needScroll=”yes”
needSaveAsExcel2007=”yes”
/>
</td></tr>
</table>
<script language=”javascript”>
testscroll()
function testscroll(){
// alert(document.getElementById(“report1″).style.width);
document.getElementById(“rep”).style.width=900;//设置table的宽度
//此处可通过js动态得到浏览器的分辨率
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 +” 像素/英寸“;
}
</script>
</body>
</html>
报表展示效果如下图: