报表知识库
我要提问

分辨率动态识别

需求描述

报表在WEB页面输出的时候,行、列都很多,需要设置横向、纵向滚动条来固定报表表头。这样,就造成针对客户端不同的分辨率的显示器,滚动条的高度和宽度固定,对于分辨率小的机器,在页面上看不到滚动条,分辨率大的机器,滚动条右下方留出了很大的空白,这样造成页面不美观,影响用户体验。

 

解决方法

可以通过jsp调节参数实现。

步骤一:

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>

 

步骤二:

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

String w = request.getParameter(”w”) ;

       String h= request.getParameter(”h”) ;

 

步骤三:

修改发布标签

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

                     funcBarLocation=””

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

                     needScroll=”yes”

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

                     scrollHeight=”<%=h%>” 

       />

标签: