一
固定表头在日常的报表使用中常常被使用,润乾提供的needScroll标签很好地支持了这个功能,但是我们有的时候希望记录条数过多时,既能固定表头又能够分页。这时我们该如何设置呢?
别着急,现在润乾报表很好地支持了这个功能,只需要增加一个needPagedScroll即可。下面我们来看一下具体实现。
首先我们设计一个报表,并设置好上表头和左表头。
接着在发布报表的jsp中增加如下标签:
needPagedScroll="yes"
needScroll="yes"
这两个标签都是需要添加的。
二
问题出现的条件:报表在WEB页面输出的时候,行、列都很多,需要设置横向、纵向滚动条来固定报表表头。但是,由于报表输出的标签中指定的滚动条的宽度、高度都是一个指定的高度、宽度,而不能设置为一个按页面宽度高度的百分比。
例如:
<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%>”
/>
原文链接:http://blog.csdn.net/chaochao52001/article/details/53582523