您的位置:首页 > 其它

润乾报表—动态设置滚动条适应屏幕分辨率

2013-04-08 13:58 302 查看
        在润乾最近的工作中,我遇到了润乾报表在WEB页面输出的时候,行、列都很多,需要设置横向、纵向滚动条来固定报表表头,这样方便展示。
要实现这个功能需要如下操作:
        在润乾的tag标签中设置scrollWidth于scrollHeight值来处理。
 
           <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%>”
        />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息